카드 더미 정리 (작은 입력)
시간 제한5초메모리 제한512 MB
2개에서 4개 사이의 짧은 카드 더미에서 두 가지 이동만 써서 각 더미에 카드를 최대 한 장만 남길 수 있는지 판정한다.
문제
앞면이 보이는 카드 더미 개로 혼자 하는 게임을 한다. 처음에 각 더미에는 카드가 장씩 놓여 있다. 카드마다 숫자와 무늬가 정해져 있고, 한 게임에 나오는 카드 중 숫자와 무늬가 모두 같은 카드는 없다.
한 번의 이동으로 다음 두 가지 중 하나를 할 수 있다.
- 서로 다른 더미의 맨 위에 무늬가 같은 카드가 두 장 이상 있으면, 그중 숫자가 가장 작은 카드 한 장을 게임에서 제거할 수 있다. 더미의 마지막 카드를 제거해도 더미 자체는 남고, 빈 더미가 된다.
- 빈 더미가 있으면, 비어 있지 않은 더미 하나를 골라 그 더미의 맨 위 카드를 빈 더미로 옮길 수 있다. 옮긴 카드는 그 더미의 유일한 카드가 된다.
이동을 적당히 이어서 모든 더미에 카드가 한 장 이하만 남는 상태를 만들면 이긴다. 처음 배치가 주어지면 이길 수 있는지 판정하라.
입력
첫째 줄에 테스트 케이스가 사용할 미리 만들어 둔 더미의 개수 가 주어진다. 이어지는 개의 줄 중 번째 줄에는 번 더미의 카드 수 가 먼저 주어지고, 그 뒤에 정수 쌍이 개 순서대로 주어진다. 번째 쌍의 두 정수 와 는 번 더미에서 위에서 번째 카드의 숫자와 무늬이다.
그다음 줄에는 테스트 케이스의 개수 가 주어진다. 이어서 테스트 케이스가 개 주어진다. 각 테스트 케이스의 첫째 줄에는 더미의 개수 과 각 더미의 카드 수 가 주어진다. 둘째 줄에는 이 테스트 케이스가 사용하는 미리 만들어 둔 더미의 번호 가 개 주어진다. 번호는 0부터 시작한다.
제한
- 모든 에 대해
- 번 더미의 카드 수는 정확히 이다.
- 한 테스트 케이스 안에서는 숫자와 무늬가 모두 같은 카드가 두 장 나오지 않는다.
- 모든 에 대해
- 모든 , 에 대해
- 모든 , 에 대해
출력
각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. 는 1부터 시작하는 테스트 케이스 번호이고, 는 이길 수 있으면 POSSIBLE, 이길 수 없으면 IMPOSSIBLE이다.
힌트
예제의 1번 테스트 케이스에는 카드가 두 장씩 놓인 더미가 두 개 있다. 첫 번째 더미는 맨 위가 무늬 2의 7, 그 아래가 무늬 1의 7이다. 두 번째 더미는 맨 위가 무늬 2의 3, 그 아래가 무늬 2의 6이다. 다음 순서로 이길 수 있다.
- 두 번째 더미에서 무늬 2의 3을 제거한다.
- 두 번째 더미에서 무늬 2의 6을 제거한다. 이제 두 번째 더미가 비었다.
- 무늬 2의 7을 두 번째 더미로 옮긴다. 모든 더미에 카드가 한 장 이하만 남았으므로 이긴다.
예제의 2번 테스트 케이스에는 카드가 두 장씩 놓인 더미가 세 개 있다. 이 경우에는 이길 수 없다. 할 수 있는 이동은 세 번째 더미 맨 위의 무늬 4의 5를 제거하는 것뿐이고, 그 뒤로는 새로운 이동이 생기지 않는다.