ページが読み込まれませんか? こちらをクリックすると直るかもしれません。
Placeholder

#8574

쌓기나무 2s 1024MB

問題

정올이는 운동장에서 쌓기나무를 가지고 놀고 있다.

정확히 말하면, 좌표 (~x~,~ y~) 를 선택하고, 그 곳에 쌓기나무를 하나 올려놓는 작업을 반복한다.

또는, 이미 올려져 있는 쌓기나무를 하나 제거할 수도 있다.

총 3가지 명령이 있다.

입력 형식을 참고하여, 3가지 명령을 처리해보자.


入力

첫 줄에 명령의 개수 Q가 입력된다. ( 1 ≤ Q ≤ 500,000 )

이후 Q 줄에 걸쳐 다음 3가지 명령 중 하나가 입력된다.

  • STACK x ~y : (~x~,~ y~) 좌표에 쌓기나무를 하나 올려놓는다.

  • ERASE x ~y : (~x~,~ y~) 좌표의 쌓기나무들 중 맨 위의 것을 하나 제거한다. 만약 그 곳에 쌓기나무가 없었다면, 이 작업은 무시된다.

  • COUNT : 현재 상태에서, "위에서 내려다 보았을 때 쌓기나무의 개수"를 출력한다.

입력되는 x~, y 값은, -10억 이상 10억 이하의 정수다.

명령은 반드시 위 3가지 중 하나이며, 잘못된 입력은 주어지지 않는다.


出力

COUNT 명령이 입력될 때마다 그에 맞는 답을 출력한다.

반드시 COUNT 명령은 한 번 이상 입력된다.


例題

9
STACK 1 1
STACK 1 1
STACK 2 2
COUNT
ERASE 1 1
ERASE 3 3
COUNT
ERASE 2 2
COUNT
2
2
1



出典

againalgo
ログインしないとコードを書けません。