한 친구가 백개먼(backgammon)을 두는 프로그램을 만들고 있는데, 게임이 끝났을 때의 말 배치에 번호를 매기는 방법이 필요하다. 게임이 끝나면 한 사람의 말 15개는 모두 1번부터 6번까지 번호가 붙은 6개의 자리(포인트) 위에 놓인다. 말은 포인트에 어떤 방식으로든 나뉘어 놓일 수 있다. 예를 들어 15개를 모두 3번 포인트에 둘 수도 있고, 6번에 5개, 5번에 2개, 4번에 3개, 2번에 5개를 둘 수도 있다. 이런 배치는 정확히 15504가지가 있으며, 이들을 1차원 배열에 저장하려면 각 배치와 배열 인덱스 사이의 대응이 필요하다.
배치는 각 포인트에 놓인 말의 개수를 6번 포인트부터 시작해 1번 포인트까지 차례로 나열하여 나타낸다. 예를 들어 "15개를 모두 3번 포인트에" 둔 배치는 $(0, 0, 0, 15, 0, 0)$으로, "6번에 5개, 5번에 2개, 4번에 3개, 2번에 5개"인 배치는 $(5, 2, 3, 0, 5, 0)$으로 표기한다.
모든 배치를 이 6-튜플의 사전식 순서로 정렬한다. 즉 6번 포인트의 개수를 먼저 비교하고, 같으면 5번 포인트의 개수를 비교하는 식이다. 따라서 순서는 $(0, 0, 0, 0, 0, 15)$로 시작하여 $(0, 0, 0, 0, 1, 14)$, $(0, 0, 0, 0, 2, 13)$, ..., $(0, 0, 0, 0, 14, 1)$, $(0, 0, 0, 0, 15, 0)$, $(0, 0, 0, 1, 0, 14)$, $(0, 0, 0, 1, 1, 13)$, ... 로 이어지고 $(15, 0, 0, 0, 0, 0)$으로 끝난다.
배열 인덱스는 이 순서대로 매긴다. 첫 번째 배치인 $(0, 0, 0, 0, 0, 15)$(15개가 모두 1번 포인트)는 인덱스 $0$을, 마지막 배치인 $(15, 0, 0, 0, 0, 0)$(15개가 모두 6번 포인트)은 인덱스 $15503$을 가진다. 각 질의마다 배치를 인덱스로 바꾸거나, 인덱스를 다시 배치로 되돌려야 한다.
각 질의는 한 줄에 하나씩 주어지며, 문자 m 또는 u 하나로 시작한다.
m이면 그 뒤에 배치가 온다. 6, 5, 4, 3, 2, 1번 포인트에 놓인 말의 개수를 이 순서대로 나타내는 정수 6개이며, 그 합은 15이다. 이 배치가 대응되는 배열 인덱스를 구해야 한다.u이면 그 뒤에 배열 인덱스 정수 $i$가 온다($0 \le i < 15504$). 이 인덱스에 대응되는 배치를 구해야 한다.문자 e 하나만 있는 줄이 나오면 입력이 끝난다.
각 질의마다 Case X: A 형식의 줄을 하나씩 출력한다. 여기서 $X$는 질의 번호(1부터 시작하여 질의마다 1씩 증가)이고, $A$는 답이다. m 질의면 배열 인덱스를, u 질의면 6, 5, 4, 3, 2, 1번 포인트의 말 개수 6개를 공백 하나로 구분하여 출력한다.