Etaoin Shrdlu

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

자연어 텍스트에서 각 문자가 나타나는 상대 빈도는 암호학에서 매우 중요하지만, 그 통계는 언어마다 다릅니다. 다음은 몇몇 주요 언어에서 상대 빈도가 높은 순서로 정렬한 상위 9개 문자입니다.

English: ETAOINSHR
German:  ENIRSATUD
French:  EAISTNRUL
Spanish: EAOSNRILD
Italian: EAIONLRTS
Finnish: AITNESLOK

단일 문자의 빈도만큼이나 중요한 것이 인접한 두 문자 쌍, 즉 다이그램(digram) 의 빈도입니다. 다이그램은 텍스트에서 연속한 두 문자를 말하며, 이 쌍들은 서로 겹칩니다. 즉 같은 문자가 $k$개 연속되면 서로 같은 다이그램이 $k-1$개 만들어집니다. 여러 개의 텍스트 표본이 주어질 때, 상대 빈도가 가장 높은 다이그램들을 구하세요.

입력

입력은 여러 개의 테스트 케이스로 이루어집니다. 각 테스트 케이스는 텍스트 줄의 개수를 나타내는 정수 $n$이 적힌 한 줄로 시작합니다. 그 뒤로 $n$개의 줄이 이어지며, 각 줄의 길이는 최대 $80$자입니다. 이 $n$개의 줄을 줄바꿈 문자를 제외하고 이어 붙이면 분석할 텍스트 표본이 됩니다. 표본은 출력 가능한 ASCII 문자만으로 이루어집니다.

$1 \le n \le 64$이며, $n = 0$인 줄이 나오면 입력이 끝나고 그 줄은 처리하지 않습니다.

출력

각 테스트 케이스마다 가장 빈도가 높은 다이그램 5개를 한 줄에 하나씩, 총 5줄로 출력합니다. 각 줄에는 다이그램(두 문자), 공백 한 칸, 등장 횟수(절대 빈도), 공백 한 칸, 그리고 상대 빈도를 차례로 출력합니다. 상대 빈도는 그 다이그램의 등장 횟수를 표본에 있는 전체 다이그램 수로 나눈 값이며, 소수점 아래 6자리로 반올림해 출력합니다.

두 다이그램의 빈도가 같으면 (ASCII) 값이 작은 것을 먼저 출력합니다. 연속한 테스트 케이스의 출력 사이에는 빈 줄을 하나 넣어 구분합니다.