問題文

  • <お詫び>

test3.txt に制約範囲外の値が含まれていたため、該当テストケースを削除いたしました。申し訳ございません。

11 つの空のお皿があります。

QQ 個のクエリが与えられるので、順番に処理してください。
クエリは次の 33 種類のいずれかです。

  • 1 x k : お皿に重さ xx の木の実を kk 個追加する。
  • 2 x : お皿にある重さ xx の木の実をすべて削除する。このとき、お皿に重さ xx の木の実がない場合は何も行わない。
  • 3 y : 合計の重さが yy を超えないように木の実をお皿から取ることができるとき、取ることのできる木の実の個数の最大値を出力する。

制約

  • 1Q1051 \leq Q \leq 10^5
  • 1x1091 \leq x \leq 10^9
  • 1k1041 \leq k \leq 10^4
  • 1y10181 \leq y \leq 10^{18}
  • 入力はすべて整数である。

入力

入力は以下の形式で標準入力から与えられる。

QQ
query 11
query 22
\vdots

query QQ

i(1iQ)i \: (1 \leq i \leq Q) 番目の query ii では、まずクエリの種類 tit_i (1,2,3(1, 2, 3 のいずれか)) が与えられ、 ti=1t_i = 1 のときは追加で x,kx, kti=2t_i = 2 のときは追加で xxti=3t_i = 3 のときは追加で yy が与えられる。
すなわち、各クエリは以下に示す 33 つの形式のいずれかが与えられる。

11xxkk

22xx

33yy

出力

ti=3t_i = 3 を満たすクエリの個数を qq として、qq 行出力せよ。
j(1jq)j \: (1 \leq j \leq q) 行目では jj 番目のそのようなクエリに対する答えを出力せよ。

入出力例

入力例1
8
1 2 2
1 3 1
1 5 2
3 6
3 7
2 3
3 7
3 15
出力例1
2
3
2
4

33 番目のクエリが処理された時点で、お皿には重さ 22 の木の実が 22 つ、重さ 33 の木の実が 11 つ、重さ 55 の木の実が 22 つあります。
44 番目のクエリについて、例えば、重さ 22 の木の実を 11 つ、重さ 33 の木の実を 11 つ取ることによって 22 つの木の実を取ることができます。
55 番目のクエリについて、例えば、重さ 22 の木の実を 22 つ、重さ 33 の木の実を 11 つ取ることによって 33 つの木の実を取ることができます。
66 番目のクエリでは、重さ 33 の木の実がすべて削除されます。
77 番目のクエリについて、例えば、重さ 22 の木の実を 11 つ、重さ 55 の木の実を 11 つ取ることによって 22 つの木の実を取ることができます。
88 番目のクエリについて、お皿にあるすべての木の実を取ることができるため、44 つの木の実を取ることができます。

入力例2
12
3 10528605371295668
1 647067399 4040
3 2118234349761
2 647067399
1 407923686 5016
1 509459218 6931
3 1504393153494
1 394517113 1774
1 856989481 3418
1 351851508 9638
3 8182099199625
2 509459218
出力例2
0
3273
3687
20441

提出


Go (1.21)