1746 集合


Submit solution

Points: 100
Time limit: 2.0s
Memory limit: 32M

Problem types
Allowed languages
C, C++, Java, Python

Description

大家都知道C++ STL标准模板库中有一个容器叫multiset.它是一个可以容纳多个相同元素的集合. 现在有一个空的多重集合(multiset),你需要对它进行维护. 我们的操作有4种

1: I val, 将整数val插入到集合中.

2: D val, 删除集合中的一个val. (如果集合中没有val,那么就不删,如果有多个,则删除一个)

3: N val, 查询集合中小于等于val的整数有几个

4: F rank, 查询集合中排名第rank的整数是多少. (1<=rank<=当前集合的元素总数)

Input

多组数据.每组数据第一行一个Q,表示操作次数.接下来有Q行,每行一个操作,都是上面的四种之一.所有整数都在10^9之内.

Output

对于操作3和操作4,输出相应的数值.

Sample

Input

5
I 3
I 5
N 4
D 3
F 1

7
I 3
I 5
N 6
D 4
D 5
D 3
N 10

Output

1
5
2
0

Hint

huge input! scanf and printf are recommended..


Source: zjut_DD


Comments

There are no comments at the moment.