직접 고르는 님
시간 제한2초메모리 제한512 MB
앨리스가 고를 수 있는 비어 있지 않은 부분집합마다 밥이 이기도록 밥의 상자에서 힙을 하나씩 고릅니다. 불가능하면 -1을 출력합니다.
문제
Alice와 Bob은 Nim 게임을 즐긴다. 힙의 크기가 일 때, 선공이 이기는 것은 이 0이 아닐 때이고 그 경우에만 해당한다. 온라인 게임 중에는 시작 전에 캐릭터를 고르는 게임이 있어, 이를 Nim에 적용한 새 버전을 만들었다. 두 사람은 각자 여러 상자에 든 힙을 가진다. 첫 번째 단계에서 각 플레이어는 자신의 상자마다 힙을 정확히 하나씩 고른다. 두 번째 단계에서 Alice는 고른 힙들 중 비어 있지 않은 부분집합을 고르고, 선택된 힙들에서 Bob이 선공으로 일반 Nim을 시작한다. Bob은 Alice가 어떤 힙을 골랐는지 이미 안다. Alice가 두 번째 단계에서 어떤 부분집합을 고르더라도 Bob이 이기도록 Bob의 힙을 고르는 것을 도와라.
입력
첫 줄에 Alice가 고른 힙의 개수 ()이 주어진다. 이면 다음 줄에 그 힙들의 크기 개가 주어지고, 이면 이 줄은 생략된다. 다음 줄에는 Bob 상자의 개수 ()이 주어진다. 이어지는 개의 줄마다 상자 하나가 주어지며, 각 줄은 힙의 개수 ()로 시작하고 이어서 힙의 크기 개가 주어진다. 모든 힙의 크기는 1 이상 이하다. Bob 상자들의 힙 전체 개수는 5000을 넘지 않는다.
출력
Bob이 어떤 힙을 고르든 Alice가 결과 Nim 상태를 지는 상태로 만들 수 있다면 Bob은 이길 수 없으므로 을 출력한다. 그렇지 않으면 입력에서 상자가 주어진 순서대로, Bob이 각 상자에서 골라야 할 힙의 크기 개를 출력한다.
힌트
Nim에서는 여러 개의 돌 더미가 놓여 있다. 각 차례마다 플레이어는 아무 힙이나 골라 양의 개수의 돌을 가져간다. 마지막 돌을 가져간 플레이어가 이긴다.