普通平衡树
您需要写一种数据结构(可参考题目标题),来维护一些数,可提供以下操作:
- 插入x数;
- 删除x数(若有多个相同的数,应只删除一个);
- 查询x数的排名(若有多个相同的数,应输出最小的排名);
- 查询排名为xx的数;
- 求xx的前驱(前驱定义为小于x,且最大的数);
- 求xx的后继(后继定义为大于x,且最小的数)。
输入
第一行为n(n<1.8X10^5),表示操作的个数,下面nn行每行有两个数opt,xopt,表示操作的序号(1≤opt≤6)。
输出
对于操作3,4,5,6每行输出一个数,表示对应答案。
样例
输入
复制10 1 106465 4 1 1 317721 1 460929 1 644985 1 84185 1 89851 6 81968 1 492737 5 493598
输出
复制106465 84185 492737