차기 시장
면접 대비시간 제한1초메모리 제한128 MB
조약돌 전달 게임을 규칙대로 시뮬레이션해 모든 조약돌을 가진 후보의 번호를 출력한다.
문제
게임스턴(Gameston) 마을의 가장 기이한 전통 중 하나는, 차기 시장조차 게임의 결과로 뽑는다는 것이다. 시장의 임기가 끝나갈 무렵, 현직 시장을 포함한 최소 세 명의 후보가 조약돌 게임을 벌이고, 그 승자가 차기 시장이 된다.
조약돌 게임의 규칙은 다음과 같다. 아래에서 은 참가한 후보의 수이다.
- 준비물
- 둥근 탁자, 그릇 하나, 그리고 충분한 양의 조약돌.
- 시작
- 그릇에 조약돌 몇 개를 넣는다. 명의 후보는 번부터 번까지 번호를 받아 둥근 탁자에 반시계 방향 순서로 앉는다. 게임을 시작할 때 그릇은 현직 시장, 즉 번 후보에게 건네진다.
- 한 번의 차례
- 어떤 후보가 그릇을 건네받으면:
- 그릇에 조약돌이 하나라도 있으면, 그 후보는 조약돌 하나를 꺼내 이미 손에 들고 있던 것들과 함께 가진다.
- 그릇이 비어 있으면, 그 후보는 손에 들고 있는 조약돌 전부(있다면)를 그릇에 넣는다.
- 두 경우 모두, 그 후보는 그릇을 오른쪽 다음 후보(즉 번 후보)에게 넘긴다. 승자가 결정될 때까지 이 과정을 반복한다.
- 어떤 후보가 그릇을 건네받으면:
- 게임의 끝
- 어떤 후보가 그릇에서 마지막 조약돌을 꺼내는 순간, 다른 어떤 후보도 조약돌을 가지고 있지 않다면 게임이 끝나고, 모든 조약돌을 손에 쥔 그 후보가 승자가 된다.
이 게임은 필요한 차례의 수가 매우 커질 수는 있어도 항상 유한한 차례 안에 끝난다는 것이 증명되어 있다.
입력
입력은 여러 개의 데이터셋으로 이루어진다. 각 데이터셋은 공백 하나로 구분된 두 정수 과 가 적힌 한 줄이며, 은 (현직 시장을 포함한) 후보의 수, 는 처음에 그릇에 넣는 조약돌의 총 개수이다. , 이라고 가정해도 된다.
입력으로 주어지는 모든 데이터셋에서 게임은 1,000,000번의 차례 안에 끝난다.
입력의 끝은 공백 하나로 구분된 두 개의 이 적힌 줄로 표시되며, 이 줄은 처리하지 않는다.
출력
각 데이터셋에 대해, 입력과 같은 순서로 승리한 후보의 번호를 한 줄에 하나씩 출력한다. 출력에는 그 밖의 어떤 문자도 나타나서는 안 된다.