#abc212d. [abc212_d]Querying Multiset

[abc212_d]Querying Multiset

問題文

高橋君は何も書かれていないたくさんのボールと 11 つの袋を持っています。 最初、袋は空で、高橋君は QQ 回の操作を行います。 それぞれの操作は以下の 33 種類のうちのいずれかです。

  • 操作 11 : まだ何も書かれていないボール 11 つに整数 XiX_i を書き込み、袋に入れる。
  • 操作 22 : 袋に入っているすべてのボールについて、そこに書かれている数を、それに XiX_i を加えたものに書き換える。
  • 操作 33 : 袋に入っているボールのうち書かれている数が最小のもの(複数ある場合はそのうちの 11 つ)を取り出し、そこに書かれている数を記録する。その後、そのボールを捨てる。

1leqileqQ1\\leq i\\leq Q について ii 回目の操作の種類 PiP_i および操作 11 , 22 における XiX_i の値が与えられるので、操作 33 において記録された数を順に出力してください。

制約

  • 1leqQleq2times1051 \\leq Q \\leq 2\\times 10^5
  • 1leqPileq31 \\leq P_i \\leq 3
  • 1leqXileq1091 \\leq X_i \\leq 10^9
  • 入力は全て整数である。
  • Pi=3P_i=3 であるような ii11 つ以上存在する。
  • Pi=3P_i=3 であるとき、 ii 回目の操作の直前の時点で、袋には 11 つ以上のボールが入っている。

入力

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

QQ query1query_1 query2query_2 :: queryQquery_Q

22 行目から Q+1Q+1 行目の各 queryiquery_i は次のいずれかの形で与えられる。

11 XiX_i 22 XiX_i 33

まず、1leqPileq31\\leq P_i\\leq 3 が与えられる。これは操作の種類を表す。 Pi=1P_i=1 または Pi=2P_i=2 ならば、その後に空白区切りで XiX_i が与えられる。

出力

QQ 回の操作のうち操作の種類が Pi=3P_i=3 であるような各操作について、記録された数を改行区切りで出力せよ。


入力例 1

5
1 3
1 5
3
2 2
3

出力例 1

3
7

高橋君は次のように操作を行います。

  • 33 の書かれたボールを袋に入れる。
  • 55 の書かれたボールを袋に入れる。
  • 今、袋には 33 の書かれたボールと 55 の書かれたボールが入っているため、このうち小さい 33 の書かれたボールを取り出し、 33 を記録した後に捨てる。
  • 今、袋には 55 の書かれたボールのみが入っているため、この数を 5+2=75+2=7 に書き換える。
  • 今、袋には 77 の書かれたボールのみが入っているため、このボールを取り出し、 77 を記録した後に捨てる。

よって、記録された順に 33 , 77 を出力します。


入力例 2

6
1 1000000000
2 1000000000
2 1000000000
2 1000000000
2 1000000000
3

出力例 2

5000000000

答えが 3232 bit整数に収まらないことがある事に注意してください。