#80. 双重队列

双重队列

Description

银行的每个客户都有一个正整数标识KK,到银行请求服务时将收到一个正整数的优先级PP。银行经理提议打破传统,在某些时候调用优先级最低的客户,而不是优先级最高的客户。系统将收到以下类型的请求:①00,系统需要停止服务;②11 KK PP,将客户KK及优先级PP添加到等待列表中;③22,为优先级最高的客户提供服务,并将其从等待名单中删除;④33,为优先级最低的客户提供服务,并将其从等待名单中删除。

Format

Input

输入的每一行都包含一个请求,只有最后一行包含停止请求(代码00)。假设有请求在列表中包含新客户(代码11),在同一客户的列表中没有其他请求或有相同的优先级,标识符KK总是小于106106,优先级P总是小于107107。一个客户可以多次到银行请求服务,但是每次都获得不同的优先级。

Output

对代码为2233的每个请求都单行输出所服务客户的标识。若请求在等待列表为空时到达,则输出00

Samples

2
1 20 14
1 30 3
2
1 10 99
3
2
2
0
0
20
30
10
0