공의 쿼리
Time Limit: 2.5 SecMemory Limit: 512 MiB

문제

개의 발판이 일렬로 늘어서 있다. 각 발판은 경사와 높이가 있어서, 번 발판에 공이 있으면 초 뒤 번 발판으로 구른다.

각 발판에는 점프 패드가 설치될 수 있다. 점프 패드는 수치가 있어서, 힘이 인 점프 패드가 있는 번 발판에 공을 올려놓거나 공이 도달하면, 공이 구르는 대신 점프 패드가 공을 날려 번 발판으로 이동시킨다.

공이 도착한 뒤 도착지에도 점프 패드가 있다면 즉시 작동하여 다시 공을 날려 보낸다. (점프 패드를 타고 날아가는 이동 역시 1회당 1초가 소요된다.)

최초에 설치된 점프 패드는 없다. 공이 번째 발판에서 구르게 되거나, 점프 패드를 타고 번째 발판을 넘어 날아가게 되면 공이 발판을 벗어난다.

이 때 다음 쿼리를 처리하는 프로그램을 작성하라.

  • 1 i x: 번 발판에 힘이 인 점프 패드가 추가된다. 번 발판에 점프 패드가 없는 경우에만 주어진다.
  • 2 i: 번 발판의 점프 패드를 제거한다. 번 발판에 점프 패드가 있는 경우에만 주어진다.
  • 3 i: 번 발판에 공을 올려놓았을 때 공이 발판을 벗어날 때까지 걸리는 시간을 구해 출력한다.

입력

첫 번째 줄에 과 쿼리의 개수 가 주어진다. ,

두 번째 줄부터 개의 줄에 걸쳐, 각 줄마다 쿼리가 주어진다.

출력

3번 쿼리가 주어질 때마다, 한 줄에 하나씩 쿼리의 답을 출력한다. 3번 쿼리는 한 번 이상 주어진다.

Example Input 1
20 7
3 1
1 5 10
3 1
1 16 2
3 8
1 18 10
3 15
Example Output 1
20
11
12
3
Language-Specific Restrictions