Problem B: 堆

Problem B: 堆

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 128 MiB

Description

给定一个数列,初始为空,请支持下面三种操作:
  1. 给定一个整数 ,请将  加入到数列中。
  2. 输出数列中最小的数。
  3. 删除数列中最小的数(如果有多个数最小,只删除  个)。

Input

第一行是一个整数,表示操作的次数 

接下来  行,每行表示一次操作。每行首先有一个整数  表示操作类型。

  • 若 ,则后面有一个整数 ,表示要将  加入数列。
  • 若 ,则表示要求输出数列中的最小数。
  • 若 ,则表示删除数列中的最小数。如果有多个数最小,只删除  个。

【数据规模与约定】

  • 对于  的数据,保证 
  • 对于  的数据,保证 
  • 对于  的数据,保证 

Output

对于每个操作 ,输出一行一个整数表示答案。

Sample Input Copy

5
1 2
1 5
2
3
2

Sample Output Copy

2
5