산타클로스와 조수 요정들은 비밀 메시지를 흔히 25-언어로 암호화한다. 25-알파벳은 라틴 알파벳과 거의 같지만 한 가지가 다르다. 글자 Z가 없어서, 25-알파벳은 라틴 알파벳과 같은 순서로 A부터 Y까지 25개의 글자로만 이루어진다. 25-언어의 각 단어는 서로 다른 25개의 글자로 정확히 이루어진다.
한 단어는 위에서부터 행을 차례로 채우는 방식으로 $5 \times 5$ 표에 적을 수 있다. 예를 들어 단어 ADJPTBEKQUCGLRVFINSWHMOXY는 다음과 같이 적힌다.
A D J P T
B E K Q U
C G L R V
F I N S W
H M O X Y
올바른(valid) 단어란, 이렇게 표로 적었을 때 각 행과 각 열이 모두 오름차순으로 나열되는 단어를 말한다. 따라서 ADJPTBEKQUCGLRVFINSWHMOXY는 올바른 단어지만, ADJPTBEGQUCKLRVFINSWHMOXY는 올바르지 않다(두 번째 열과 세 번째 열에서 오름차순이 깨진다).
산타클로스는 사전을 하나 가지고 있다. 이 사전은 올바른 25-언어 단어를 모두 사전식(lexicographic) 오름차순으로 나열하고, 1번부터 시작하는 일련번호를 매긴 목록이다. 예를 들어 이 사전에서 ABCDEFGHIJKLMNOPQRSTUVWXY는 1번 단어이고, ABCDEFGHIJKLMNOPQRSUTVWXY는 2번 단어이다. 2번 단어는 1번 단어에서 U와 T의 위치가 서로 바뀐 것이다.
안타깝게도 이 사전은 매우 크다. 임의로 주어진 단어의 일련번호를 구하고, 또한 주어진 일련번호에 해당하는 단어를 구하는 프로그램을 작성하라. 사전에 들어 있는 단어의 개수는 $2^{31}$개보다 적다.
첫째 줄에는 한 글자짜리 문자열로 W 또는 N이 주어진다.
W이면, 둘째 줄에는 올바른 25-언어 단어, 즉 25글자 문자열이 주어진다.N이면, 둘째 줄에는 실제로 존재하는 25-언어 단어의 일련번호가 주어진다.둘째 줄에 25-언어 단어가 주어진 경우(W), 그 단어의 일련번호를 한 줄에 출력한다.
둘째 줄에 일련번호가 주어진 경우(N), 그 일련번호에 해당하는 25-언어 단어를 한 줄에 출력한다.