维护一个初始为空的多重集合 ,支持如下六种操作: 操作 1:向集合 插入一个整数 。 操作 2:从集合 删除一个整数 ,若 不存在,则忽略;若存在多个,则只删除一个。 操作 3:查询整数 在集合 中的个数。 操作 4:查询集合 中元素的总个数(含重复计数)。 操作 5:查询整数 在集合 中的前驱(定义为小于 的最大元素),若不存在则返回 。 操作 6:查询整数 在集合 中的后继(定义为大于 的最小元素),若不存在则返回 。
输入描述:
第一行输入一个整数 (),表示操作总数。接下来 行,每行输入两个整数 和 (), 表示操作类型,。


输出描述:
对于每个操作 3、4、5、6,在一行中输出一个整数,表示对应操作的查询结果。
示例1

输入

2
1 1
3 1

输出

1

说明

首先插入 1,然后查询 1 在集合中的个数为 1
示例2

输入

6
1 2
1 2
3 2
2 2
3 2
4 0

输出

2
1
1

说明

在两次插入 2 后,查询个数为 2;删除一次后,查询个数为 1;最后查询集合大小,当前集合中仅有一个 2,故输出 1
加载中...