쿠키 게임
시간 제한2초메모리 제한512 MB
요셉은 k개 쿠키의 방향을 골라 그런디 값의 XOR이 0이 되게 해야 하며, 불가능하면 impossible을 출력합니다.
문제
Joseph와 Carl이 다음 게임을 한다. 쿠키 종류는 가지이고, 종류 의 쿠키는 변의 길이가 와 인 직사각형이다. 각 종류의 쿠키는 무한히 많다.
게임은 준비 단계와 진행 단계로 나뉜다.
준비 단계에서 Joseph이 게임판을 만든다.
- 정확히 개의 쿠키를 고른다. 각 쿠키의 변은 좌표축과 평행하도록 평면에 놓으며, 두 쿠키가 한 점도 공유하지 않게 한다.
- 이 단계에서만 Joseph이 놓인 쿠키의 방향을 자유롭게 정할 수 있다. 변 를 가로로 두거나, 쿠키를 90도 돌릴 수 있다.
- 준비가 끝나면 고른 개의 쿠키가 각각 스택의 바닥이 된다. 진행 단계는 빈 스택 개로 시작한다.
진행 단계에서는 Carl이 먼저 시작하고 두 플레이어가 번갈아 수를 둔다. 한 턴에 플레이어는 쿠키 하나를 골라 어떤 스택의 맨 위에 올린다. 이때 다음 조건을 지켜야 한다.
- 올리는 쿠키의 변 는 반드시 가로로 놓여 있어야 한다.
- 쿠키 를 스택 의 맨 위에 올릴 수 있는 것은, 의 세로 변이 맨 위 쿠키의 세로 변보다 엄격히 짧고, 의 가로 변이 맨 위 쿠키의 가로 변보다 엄격히 짧을 때다.
올바른 수를 둘 수 없는 플레이어가 진다.
Joseph이 고른 쿠키 종류는 이미 정해져 있다. 두 플레이어가 최선을 다할 때 Joseph이 이기도록 하는 쿠키들의 초기 방향 하나를 찾아라. Joseph이 쿠키를 어떻게 놓아도 이길 수 없다면 그렇다고 답한다.
입력
첫 줄에 정수 과 가 주어진다 (). 은 쿠키 종류의 수이고, 는 Joseph이 준비 단계에서 사용하는 쿠키의 수다.
이어지는 개의 줄에는 정수 와 가 주어진다 (). 이는 종류 의 축 방향 변과 축 방향 변의 길이다. 서로 다른 두 종류의 는 같지 않고, 도 같지 않다.
마지막 줄에는 개의 정수 ()가 주어진다. 이는 Joseph이 사용하는 쿠키의 종류다.
출력
Joseph이 반드시 이길 수 없다면 impossible을 출력한다.
그렇지 않으면 길이가 인 이진 문자열을 출력한다. 왼쪽에서 번째 문자는 입력에서 번째 쿠키에 대응한다. 문자 0은 회전하지 않은 상태로, 가 가로가 된다. 문자 1은 90도 회전한 상태로, 가 가로가 된다. 답이 여러 개이면 그중 아무거나 출력한다.