격자 게임
시간 제한2초메모리 제한1024 MB
두 사람이 격자에서 오른쪽과 아래로만 이동하며 값을 XOR로 바꾸는 게임에서, 최적으로 플레이할 때 이기는 쪽을 구합니다.
문제
크기가 인 격자 가 주어집니다. 행은 위에서 아래로 1번부터 번까지, 열은 왼쪽에서 오른쪽으로 1번부터 번까지 번호가 붙어 있습니다. 는 행 열의 칸을 뜻합니다.
각 칸 에는 또는 0 이상의 정수 가 적혀 있습니다. 이면 그 칸은 통과할 수 없습니다. 그 밖의 칸은 통과할 수 있습니다.
두 플레이어가 번갈아 가며 이 격자에서 게임을 합니다. 한 턴에 플레이어는 다음을 수행합니다.
- 양의 정수가 적힌 칸을 하나 골라 그 칸에 섭니다. 이 시작 칸의 정수를 라고 합니다.
- 를 만족하는 음이 아닌 정수 를 고릅니다.
- 에 서 있을 때 를 로 바꿉니다. 여기서 는 비트 XOR입니다.
- 칸 또는 중 하나라도 통과할 수 있으면, 플레이어는 통과할 수 있는 칸 중 원하는 칸으로 반드시 이동한 뒤 3번으로 돌아갑니다.
- 더 이동할 수 없으면 플레이어는 격자 밖으로 나가고 턴을 끝냅니다.
양의 정수가 적힌 칸이 없어서 턴에 플레이할 수 없는 플레이어는 집니다. 그러면 상대가 이깁니다.
두 플레이어가 최선을 다할 때 누가 이기는지 구하십시오.
입력
첫 줄에 두 정수 과 ()이 주어집니다. 이어지는 개의 줄에는 각각 개의 정수 ( 또는 )가 주어집니다.
출력
첫 번째 플레이어가 이기면 first를, 그렇지 않으면 second를 한 줄에 출력합니다.