Streamer Chat

問題文

配信者のmoguさんは、配信のチャット欄が連投スパムで荒らされるという被害を何度も受け、仕方なく配信サイトを変えることにしました。

とある配信サイトには、NN 人の視聴者がいる。(視聴者 1,2,...,N1 , 2 , ... ,N とする。)日付 00 までに、moguさんをフォローしている視聴者はいない。

次の QQ 個のクエリ(1iQ1 \leq i \leq Q)を順に処理せよ。

  • クエリ 11 : 1 t x の形式で与えられる。日付 tt の初めに視聴者 xx がmoguさんのチャンネルをフォローする。クエリが与えられる時点で視聴者 xx はmoguさんのチャンネルをフォローしていないことが保証される。

  • クエリ 22 : 2 t x の形式で与えられる。日付 tt に視聴者 xx がmoguさんのチャンネルのフォローを解除する。クエリが与えられる時点で視聴者 xx はmoguさんのチャンネルをフォローしていることが保証される。

  • クエリ 33 : 3 t k の形式で与えられる。日付 tt にmoguさんが配信を行う。この際、moguさんの配信のチャット欄にチャットできるのは日付 tkt-k の初めから日付 tt までの間、moguさんのチャンネルをずっとフォローしている視聴者のみである。moguさんの配信にチャットできる視聴者の人数を出力せよ。

制約

  • 1N1051 \leq N \leq 10^5
  • 1Q2×1051 \leq Q \leq 2 \times 10^5
  • 1ti<tj109(1i<jQ)1 \leq t_i < t_j \leq 10^9 (1 \leq i < j \leq Q)
  • 1xiN(1iQ)1 \leq x_i \leq N (1 \leq i \leq Q)
  • 1kiti(1iQ)1 \leq k_i \leq t_i (1 \leq i \leq Q)
  • クエリ 3311 回以上与えられる。

入力

入力はすべて整数である。

N Q
query_1
query_2
...
query_Q

各クエリは以下のように与えられる。

1 t x
2 t x
3 t k

出力

クエリ 33 が与えられるたびに、moguさんの配信にチャットできる視聴者の人数を 11 行に出力せよ。

サンプル

入力1
3 3
1 1 1
1 2 2
3 3 1
出力1
2

11 つ目のクエリにおいて、日付 11 に視聴者 11 がチャンネルをフォローします。 22 つ目のクエリにおいて、日付 22 に視聴者 22 がチャンネルをフォローします。 33 つ目のクエリにおいて、日付 33 の配信にチャットすることができるのは遅くとも日付 31=23-1=2 からずっとチャンネルをフォローしている視聴者です。 よって、視聴者 1,21,2 が配信にチャットすることができるので、 22 を出力します。

入力2
3 4
1 1 1
1 2 2
2 3 1
3 4 3
出力2
0

44 つ目のクエリにおいて、日付 44 の配信にチャットすることができるのは遅くとも日付 43=14-3=1 からずっとチャンネルをフォローしている視聴者です。 視聴者 11 は日付 33 にチャンネルのフォローを解除しているので、配信にチャットすることができません。 よって、誰も配信にチャットすることができないので、 00 を出力します。

入力3
3 5
1 1 1
2 2 1
1 3 1
1 4 2
3 5 2
出力3
1

55 つ目のクエリにおいて、日付 55 の配信にチャットすることができるのは遅くとも日付 52=35-2=3 からずっとチャンネルをフォローしている視聴者です。 視聴者 11 は日付 22 にチャンネルのフォローを解除していますが、日付 33 にチャンネルをフォローし、その後日付 55 の配信までチャンネルをフォローし続けています。 よって、視聴者 11 が配信にチャットすることができるので、 11 を出力します。

提出


Go (1.21)