용의 알 돌리기
시간 제한2초메모리 제한512 MB
원형으로 선 아이들 사이에서 시계 방향이나 반시계 방향으로 달걀을 던지며, 마지막 m번의 던지기를 되돌리는 명령을 처리한 뒤 달걀을 가진 아이를 구한다.
문제
대너리스는 초등학교 2학년 컴퓨터 과학 수업에서 쓸 놀이를 자주 만든다. 이번 주 수업에서는 아이들을 원으로 둘러서게 한 뒤 돌처럼 굳은 용의 알을 조심스럽게 던져서 주고받게 한다.
명의 아이는 원을 따라 시계 방향으로 번부터 번까지 번호를 매긴다. 알은 항상 번 아이가 처음 들고 있다. 대너리스는 다음 두 가지 중 하나를 외친다.
- 정수 . 알을 지금 들고 있는 아이에서 시계 방향으로 칸 떨어진 아이에게 던진다. 원의 끝을 넘어가면 다시 앞으로 돌아온다. 가 음수이면 반시계 방향으로 던진다.
undo m. 바로 앞의 던지기 번을 되돌린다.undo명령은 다른undo명령을 되돌리지 않는다. 오직 1번 형태의 던지기만 되돌린다.
예를 들어 아이가 명이고 선생님이 8 -2 3 undo 2 네 개의 명령을 외쳤다고 하자. 알은 번에서 번으로, 번에서 번으로, 번에서 번으로 이동한다. 이어지는 undo 2는 마지막 두 번의 던지기를 되돌리므로 알은 번에서 번으로 돌아오고, 다시 번에서 번으로 돌아온다. 대너리스가 을 외치면, 또는 이나 , , 처럼 의 배수를 외치면, 알을 든 아이가 알을 위로 던졌다가 조심스럽게 다시 받는다.
명령을 모두 정확히 수행했을 때 알이 최종적으로 누구에게 있는지 구하는 프로그램을 작성하라.
입력
첫째 줄에 아이의 수 과 대너리스가 외치는 명령의 개수 가 주어진다. (, )
둘째 줄에 명령 개가 순서대로 주어진다. 각 명령은 알을 시계 방향으로 몇 칸 던질지 나타내는 정수 ()이거나, 바로 앞의 던지기 번을 되돌리라는 undo m ()이다. undo m도 명령 하나로 세므로 두 형태를 합쳐 모두 개다. 대너리스는 게임 시작 지점보다 더 뒤로 되돌리게 시키지 않는다.
출력
게임이 끝났을 때 알을 들고 있는 아이의 번호를 출력한다.