홍익 투어리스트

아직 제출이 없습니다시간 제한1초메모리 제한1024 MB

문제

도현이는 홍익 투어리스트가 되어 홍익대학교를 견학하려고 한다. 홍익대학교는 NN개의 구역이 원형으로 배치된 모습이다. 11번 구역에서 시계 방향으로 각각 22번, ... , NN번 구역이 존재하고, NN번 구역에서 시계 방향으로 한 칸 더 갈 경우 11번 구역으로 도착한다. 

홍익대학교에는 명소가 존재한다. 도현이는 알찬 투어를 위해 명소만을 방문하려 한다. 도현이는 11번 구역에 서있다.

도현이를 위해 다음과 같은 쿼리를 수행하는 프로그램을 작성해보자.

  • 11 ii : ii번 구역이 명소가 아니었다면 명소로 지정되고, 명소였다면 지정이 풀리게 된다. (1iN1 \leq i \leq N)
  • 22 xx : 도현이가 시계방향으로 xx만큼 이동한다. (1x1091 \leq x \leq 10^9)
  • 33 : 도현이가 명소에 도달하기 위해 시계방향으로 최소 몇 칸 움직여야 하는 지 출력한다. 명소가 존재하지 않는 경우 1-1을 출력한다.

입력

첫째 줄에 구역의 개수 NN (1N500,0001 \leq N \leq 500\\,000)과 쿼리의 개수 QQ (1Q100,0001 \leq Q \leq 100\\,000)가 정수로 주어진다.

둘째 줄에 길이 NN의 수열 AA가 주어진다. ii번째 구역이 명소라면 A_iA\_i11, 그렇지 않다면 00이다.

셋째 줄부터 QQ줄에 걸쳐 본문의 쿼리가 주어진다. 33번 쿼리는 하나 이상 존재한다.

출력

33번 쿼리가 주어질 때마다 해당 쿼리의 값을 출력한다.