Jugglefest

시간 제한1초메모리 제한128 MB

문제

많은 사람이 공 3개로 하는 기본 저글링 패턴에 익숙하다. 공 A를 던지고, 이어서 B, 그다음 C, 다시 A, B, C … 이런 식으로 반복한다. 던지는 리듬이 일정하다고 하면, 더 높이 던진 공일수록 되돌아오는 데 시간이 오래 걸리므로 다시 던질 때까지 더 오래 걸린다. 높이 $h$로 던진 공은 패턴에서 정확히 $h$ 단계 뒤에야 다시 던져진다고 하자. 예를 들어 기본 3-공 패턴에서는 모든 공을 높이 3으로 던지므로 3단계 뒤에 다시 던져진다. 시각 1에 던진 공 A는 시각 4에 다시 던져진다.

관례상 가장 먼저 던지는 공을 A라 하고, 새로운 공이 패턴에 들어올 때마다 다음 대문자 알파벳을 붙인다(그래서 기본 패턴에서는 B, 그다음 C가 된다).

더 복잡한 저글링 패턴도 있다. 저글러들은 각 던지기의 높이를 차례로 나열한, 반복되는 숫자열로 패턴을 표현한다. 이를 사이트스왑(siteswap) 표기법이라 한다.

사이트스왑 "3 4 5" 패턴을 보자. 이는 "3 4 5 3 4 5 3 4 5 …"로 반복되는 무한한 던지기 높이 수열을 나타낸다. 첫 던지기는 높이 3, 두 번째는 4, 세 번째는 5, 네 번째는 (패턴이 반복되어) 다시 3, 이런 식이다.

사이트스왑은 던지기 높이를 알려주지만, 개별 공의 움직임은 그만큼 직관적이지 않다. "3 4 5" 패턴의 시작 부분을 따라가 보자.

첫 던지기는 높이 3의 공 A이므로 A는 시각 4까지 다시 던져지지 않는다. 시각 2에는 높이 4로 던져야 하는데 A가 아직 돌아오지 않았으므로 두 번째 공 B를 새로 넣는다. B는 시각 2에 높이 4로 던져졌으므로 시각 6에 다시 던져진다. 시각 3에는 세 번째 공 C를 넣어 높이 5로 던진다(따라서 시각 8에 다시 던져진다). 다음 던지기인 시각 4는 높이 3인데, (시각 1에 던졌던) A가 이미 돌아왔으므로 새 공을 넣지 않고 A를 던진다. 시각 5에는 높이 4로 던져야 하지만 A, B, C가 모두 아직 공중에 있으므로 새 공 D를 넣는다(이 패턴에서 마지막으로 들어오는 공이다). 이어서 시각 6에는 B를 높이 5로 던지고, 계속 이어진다.

"3 4 5" 패턴은 깔끔하게 맞아떨어진다. 이는 4-공 패턴으로, 공 D가 들어온 뒤에는 저글러가 팔이 지칠 때까지 계속할 수 있다. 하지만 모든 사이트스왑 수열이 유효한 것은 아니다!

이번에는 사이트스왑 "3 5 4"를 시도해 보자. 던지기 여섯 번까지는 잘 되지만, 시각 7에서 문제가 생긴다. 공 B는 시각 2에 높이 5로 던져졌으므로 시각 7에 다시 던져질 차례다. 그런데 공 C는 시각 3에 높이 4로 던져졌으므로 역시 시각 7이 차례다. (게다가 공 A도 시각 4에 높이 3으로 던져졌으므로 시각 7이 차례다.) 여러 공이 같은 순간에 던져지길 요구하니, 결국 공들이 우르르 바닥에 떨어지고 만다.

입력

각 줄은 하나의 시행을 나타낸다. 각 줄은 반복 패턴의 주기를 뜻하는 정수 $1 \le P \le 7$로 시작하고, 이어서 패턴의 던지기 높이를 나타내는 양의 정수 $P$개가 온다. 개별 던지기 높이는 최대 19이다. 입력은 값 0 하나만 있는 줄로 끝난다.

출력

각 패턴에 대해, 첫 20번의 던지기를 모두 규칙에 맞게 할 수 있으면 그 20번의 던지기에서 사용된 공을 순서대로 나열한 한 줄을 출력한다. 그렇지 않으면 CRASH를 출력한다. 시각 20보다 엄밀히 뒤에 착지하는 공 때문에 생기는 충돌은 신경 쓰지 않아도 된다.