체커는 8x8 판의 어두운 칸 32개만 사용해 진행합니다. 두 사람, Red(빨강)와 White(하양)가 각각 최대 12개의 말을 움직입니다. 어두운 칸에는 판의 위에서 아래로, 각 줄 안에서는 왼쪽에서 오른쪽 순서로 1-32번이 매겨져 있습니다.
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
17 18 19 20
21 22 23 24
25 26 27 28
29 30 31 32

전진 이동이란 말이 상대 진영 쪽으로 나아가는 이동을 말합니다. White의 말은 번호가 작아지는 방향(위쪽)으로 전진하고, Red의 말은 번호가 커지는 방향(아래쪽)으로 전진합니다. 이동과 잡기 규칙은 다음과 같습니다.
이동은 움직이는 말이 지나는 칸 번호들을 붙임표(-)로 이어 적습니다. 예를 들어 22-18은 White의 단순 이동이고, 14-23은 18번 칸의 White 말을 잡는 Red의 뛰어넘기이며, 22-31-24-15는 White 킹이 26, 27, 19번의 Red 말을 잡는 연속 점프입니다.
진행 중인 대국의 한 배치와, 그 배치에서 적용할 이동들의 목록이 주어집니다. 모든 이동이 규칙에 맞는지 판정하세요.
입력에는 여러 개의 대국 인스턴스가 들어 있습니다. 각 인스턴스는 판 위의 Red 말 수 r과 White 말 수 w 두 정수로 시작합니다(1≤r,w≤12). r=w=0인 줄은 입력의 끝을 뜻합니다.
다음 줄에는 Red 말이 놓인 칸 r개가, 그 다음 줄에는 White 말이 놓인 칸 w개가 나옵니다. 값이 양수 sq이면 sq번 칸에 일반 말이, 음수 −sq이면 sq번 칸에 킹이 놓여 있음을 뜻합니다.
그 다음 줄에는 정수 m≥1과 문자 하나(R 또는 W)가 나와, 이동 횟수와 먼저 두는 쪽을 나타냅니다. 이어지는 m개의 줄에는 위 표기법에 따른 이동이 한 줄에 하나씩 주어집니다(한 이동에 칸 번호는 최대 13개).
주어지는 모든 배치는 규칙에 맞으며(같은 칸에 두 말이 놓이는 일은 없습니다), 이미 승격 줄에 있는 말은 모두 킹입니다.
각 인스턴스마다, 모든 이동이 규칙에 맞으면 All moves valid를 출력합니다. 그렇지 않으면 Move n is invalid를 출력하며, 여기서 이동 1은 그 인스턴스의 첫 번째 이동입니다. 규칙에 어긋나는 이동이 여럿이면 가장 먼저 나오는 것 하나만 보고합니다.