#298
Bronze III
글자 블록
원문: English
시간 제한
2s
메모리 제한
1024MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

현욱이는 동아리 부원들에게 단어 공부를 시키기 위해 NN개의 보드를 준비했다. (1N1001 \le N \le 100) 각 보드의 앞면과 뒷면에는 각각 단어가 하나씩 적혀 있다. 예를 들어, 한 면에는 cat이 적혀 있고 다른 면에는 dog가 적혀 있을 수 있다. 바닥에 NN개의 보드를 놓으면 NN개의 단어가 보이게 되며, 보드를 뒤집으면 다른 단어 조합이 나타나게 된다.

현욱이는 알파벳이 하나씩 새겨진 나무 블록을 만들려고 한다. 어떤 보드를 뒤집어 어떤 단어 조합이 나타나더라도, 보이는 NN개의 단어를 모두 동시에 만들 수 있도록 충분한 양의 블록을 준비해야 한다. 예를 들어 N=3N=3이고 box, cat, car가 보인다면, b 블록 11개, o 블록 11개, x 블록 11개, c 블록 22개, a 블록 22개, t 블록 11개, r 블록 11개가 필요하다.

각 보드의 어떤 면이 보이더라도 NN개의 단어를 모두 완성할 수 있도록, 현욱이가 준비해야 하는 알파벳별 블록의 최소 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 보드의 개수 NN이 주어진다. (1N1001 \le N \le 100)

다음 NN개의 줄에는 각 보드의 양면에 적힌 두 단어가 공백으로 구분되어 주어진다. 각 단어는 최대 1010글자의 알파벳 소문자로 이루어져 있다.

출력

2626줄을 출력한다. 첫 번째 줄에는 필요한 a 블록의 개수를 출력한다. 두 번째 줄에는 b 블록의 개수, 세 번째 줄에는 c 블록의 개수를 출력하는 식으로 하여 마지막 줄에 z 블록의 개수를 출력한다.

예제 입력 1

3
fox box
dog cat
car bus

예제 출력 1

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
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Bronze III1명 투표· 약 1개월 전
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.