수 게임

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

문제

크리스틴(Christine)과 매트(Matt)가 직접 만든 수 게임(Number Game)을 한다. 규칙은 다음과 같다.

두 사람은 번갈아 가며 $1$보다 큰 정수를 하나씩 고른다. 먼저 크리스틴이 고르고, 그다음 매트, 다시 크리스틴이 고르는 식으로 진행한다. 지금까지 고른 모든 수는 앞으로 고를 수 있는 수를 다음과 같이 제한한다.

  • 두 사람 중 누군가 이미 고른 수, 또는 그 수의 배수는 고를 수 없다.
  • 그런 배수들의 합도 고를 수 없다.

즉, 어떤 수들이 선택되고 나면 그 수들의 음이 아닌 정수 계수 조합(계수 중 적어도 하나는 양수) 전체가 금지된다. 더 이상 새로운 수를 고를 수 없는 사람이 진다.

예시. 크리스틴이 $4$를 고르면 $4, 8, 12, \dots$가 금지된다. 이어서 매트가 $3$을 고르면 $3, 6, 9, \dots$뿐 아니라 $7 = 3 + 4$, $10 = 2 \cdot 3 + 4$, $11 = 3 + 2 \cdot 4$, $13 = 3 \cdot 3 + 4$ 같은 합들도 금지된다. 이제 남은 수는 $2$와 $5$뿐이다. 크리스틴이 $2$를 고르면 $5 = 2 + 3$도 금지되어 매트가 고를 수 있는 수가 없어지므로 크리스틴이 이긴다.

충분히 여러 번 두고 나면 고를 수 있는 수의 개수가 유한해진다. 하나의 국면(아직 금지되지 않은 수들의 목록)이 주어질 때, 모든 이기는 수(winning move)를 출력하라.

이기는 수란, 그 수를 고른 뒤 상대가 어떻게 두더라도 자신이 이길 수 있게 만드는 수이다. 엄밀한 정의는 다음과 같다.

  • 이기는 수는 그 수를 고른 뒤의 국면이 지는 국면이 되는 수이다.
  • 이기는 국면은 이기는 수가 존재하는 국면이고, 지는 국면은 이기는 수가 존재하지 않는 국면이다.
  • 모든 수가 금지된 국면은 지는 국면이다(그 국면에서 두어야 하는 사람이 진다).

입력

입력은 여러 개의 테스트 케이스로 이루어지며, 각 국면은 한 줄로 주어진다. 각 줄은 아직 고를 수 있는 수의 개수 $n$($1 \le n \le 20$)으로 시작하고, 이어서 그 $n$개의 수 $a_1, \dots, a_n$($2 \le a_i \le 20$)이 주어진다. 주어지는 국면은 항상 실제 게임에서 나타날 수 있는 국면이다(예를 들어 $3$이 목록에 없으면 $6$도 목록에 없다). 입력의 마지막 줄에는 $0$ 하나만 주어지며, 이 줄은 처리하지 않는다.

출력

$m$번째 테스트 케이스($m$은 $1$부터 시작)에 대해 먼저 Test Case #m을 출력한다. 다음 줄에는 이기는 수가 없으면 There's no winning move.를, 있으면 모든 이기는 수를 오름차순($w_i < w_{i+1}$)으로 나열한 The winning moves are: w1 w2 ... wk를 출력한다. 연속한 두 테스트 케이스 사이에는 빈 줄을 하나 넣는다.