维护一个集合,初始时集合为空,支持如下几种操作:
I x
,插入一个数 ;
PM
,输出当前集合中的最小值;
DM
,删除当前集合中的最小值(数据保证此时的最小值唯一);
D k
,删除第 个插入的数;
C k x
,修改第 个插入的数,将其变为 ;
现在要进行 次操作,对于所有第 个操作,输出当前集合的最小值。
输入格式
第一行包含整数 。
接下来 行,每行包含一个操作指令,操作指令为 I x
,PM
,DM
,D k
或 C k x
中的一种。
输出格式
对于每个输出指令 PM
,输出一个结果,表示当前集合中的最小值。
每个结果占一行。
数据范围
数据保证合法。
输入样例:
输出样例: