수리검 게임
시간 제한1초메모리 제한128 MB
두 선수가 더미에서 1개부터 N개까지의 수리검을 가져가되 직전 상대가 가져간 개수는 그대로 가져갈 수 없다. 이기는 가장 작은 첫 수를 구한다.
문제
닌자는 훈련하는 데 많은 시간을 씁니다. 훈련과 훈련 사이의 시간을 보내려고 닌자들은 수리검(적에게 던지는, 모서리가 날카로운 금속 별)으로 게임을 즐깁니다.
두 명이 하는 이 게임에는 수리검이 쌓인 더미 하나가 있습니다. 두 사람은 번갈아 차례를 가지며, 자기 차례에 더미에서 수리검을 가져갑니다. 한 번에 최소 개, 최대 개까지 가져갈 수 있습니다. 마지막 수리검을 가져가는 사람이 이깁니다.
이 게임은 곧 필승 전략이 알려져 시시해졌고, 그래서 한 가지 규칙이 추가되었습니다. 직전에 상대가 가져간 개수와 똑같은 개수는 가져갈 수 없습니다(상대의 마지막 수를 그대로 따라 할 수 없습니다). 만약 더미에 수리검이 정확히 개 남아 있고 상대가 방금 개를 가져갔다면, 지금 차례인 사람은 둘 수 있는 수가 없어 패배합니다.
주어진 상황에서 지금 차례인 사람이 어떻게 두어야 이길 수 있는지 구해 보세요.
입력
첫째 줄에 테스트 케이스의 개수 가 주어집니다. 이어지는 각 테스트 케이스는 다음 형식을 따릅니다.
- 한 줄에 세 정수 , , 가 공백으로 구분되어 주어집니다 (, , ). 각각 더미에 쌓인 수리검의 개수, 한 번에 가져갈 수 있는 최대 개수, 그리고 직전에 상대가 가져간 개수를 뜻합니다.
출력
각 테스트 케이스마다 한 줄에 정수 하나를 출력합니다. 지금 차례인 사람이 승리를 확정하기 위해 가져갈 수 있는 가장 적은 수리검의 개수를 출력하세요. 이기는 수가 전혀 없다면 을 출력합니다.