#arc0333. [arc033_3]データ構造

[arc033_3]データ構造

问题文

给定一个集合 SS,请处理以下查询:

  • 类型 11:将数 XX 添加到集合 SS 中。
  • 类型 22:回答集合 SS 中第 XX 小的数,并从集合 SS 中删除该数。

输入

输入从标准输入中按以下格式给出:

QQ T1T_1 X1X_1 T2T_2 X2X_2 : TQT_Q XQX_Q

  • 第一行包含一个整数 Q(1Q200,000)Q (1 \leq Q \leq 200,000),表示查询的数量。
  • 接下来的 QQ 行中,每行包含两个整数 TiT_iXiX_i,以空格分隔。其中第 ii 行表示第 ii 个查询的信息。根据 TiT_i 的取值不同:
    • Ti=1T_i = 1 时,表示查询为"将数 XiX_i 添加到集合 SS 中"。保证在处理查询前,集合 SS 中不包含 XiX_i
    • Ti=2T_i = 2 时,表示查询为"回答集合 SS 中第 XiX_i 小的数,并从集合 SS 中删除该数"。保证在处理查询前,集合 SS 中至少包含 XiX_i 个数。

输出

假设类型 22 的查询数量为 Q2Q_2,则输出由 Q2Q_2 行组成。其中每一行表示对第 ii 个类型 22 的查询的答案。请在末尾添加换行符。


输入示例1


5
1 11
1 29
1 89
2 2
2 2

输出示例1


29
89

输入示例2


12
1 8932
1 183450
1 34323
1 81486
1 127874
1 114850
1 55277
1 112706
2 3
1 39456
1 52403
2 4

输出示例2


55277
52403