페이지가 로드되지 않나요? 여기를 눌러보면 고쳐질 수도 있어요.
Placeholder

#5390

블록 게임 (Block Game) 1s 256MB

문제

농부 존은 소들에게 N개의 단어 철자 보드를 주어 읽는 법을 가르치려고 노력하고 있습니다.

Amazon.com: Melissa & Doug See & Spell Wooden Educational Toy With 8  Double-Sided Spelling Boards and 64 Letters - Preschool Learning  Activities, See & Spell Learning Toys For Kids Ages 4+ :

각 보드에는 각각 단어와 이미지가 있습니다. 

예를 들어, 한쪽에는 고양이 그림과 함께 'cat'이라는 단어가 있고, 다른 한쪽에는 개 그림과 함께 'dog'라는 단어가 있을 수 있습니다. 

따라서 보드가 바닥에 놓여 있을 때 각 보드 별로 하나의 단어가 보이게 됩니다. 

일부 보드를 뒤집으면 다른 조합의 단어들의 집합이 생길 수 있습니다.

 

소들의 철자법을 돕기 위해, 농부 존은 각각 알파벳 한 글자로 양각된 여러 개의 나무 블록을 만들기를 원합니다. 

그는 각 글자의 블록을 충분히 많이 만들어서 어떤 조합을 단어 세트가 위쪽을 향하더라도 소들은 블록을 사용하여 이 모든 단어의 철자를 쓸 수 있기를 원합니다. 

예를 들어, N=3과 단어 'box', 'cat', 'car'가 위쪽을 향하고 있다면 소는 적어도 하나의 'b' 블럭, 하나의 'o' 블럭, 하나의 'x' 블럭, 두 개의 'c' 블럭, 두 개의 'a' 블럭, 하나의 't' 블럭, 그리고 하나의 'r' 블럭이 필요합니다.

농부 존이 제공해야 할 알파벳의 각 글자에 대한 최소 블록 수를 결정할 수 있도록 도와주세요. 

그러면 각 보드의 어느 면이 보이든 상관없이 소들은 모든 N개의 눈에 보이는 단어의 철자를 쓸 수 있습니다.​


입력

첫 번째 줄에 정수 N이 주어집니다. (1≤N≤100)​

다음 N줄은 각각 공백으로 구분된 2개의 단어가 주어집니다. 이는 보드의 양면의 단어를 뜻합니다.

각 단어는 최대 10자의 소문자 문자열입니다.​


출력

26줄에 걸쳐 각 알파벳 별로 필요한 개수를 출력해 주세요. 

첫 번째 출력 줄에는 필요한 'a' 블록의 복사본 수를 지정하는 숫자가 포함되어야 합니다. 

다음 줄에는 필요한 'b'개의 블록 수를 지정해야 합니다.


예제

3

fox box
dog cat
car bus
2

2
2
1
0
1
1
0
0
0
0
0
0
0
2
0
0
1
1
1
1
0
0
1
0
0



출처

USACO 2016 December Bronze
로그인해야 코드를 작성할 수 있어요.