题目描述
有一个空序列 A 。你将收到 Q 次查询,这些查询应按照给出的顺序进行处理。每个查询都是以下三种类型之一:
1 x
:将 x 添加到 A 的末尾。
2
:输出 A 开头的元素。然后,删除该元素。当给出这个查询时,保证 A 不会为空。
3
:按升序对 A 进行排序。
输入格式
第一行一个整数 Q。
接下来 Q 行 Q次查询。
每种查询按题目描述中的格式输入
输出格式
当操作类型为2
时输出查询结果。
样例
8
1 4
1 3
1 2
1 1
3
2
1 0
2
1
2
解释#1
在样例 1 中,处理第 i 个查询后 A 的状态显示在 i 行上,如下所示。
(4) — (4,3) — (4,3,2) — (4,3,2,1) — (1,2,3,4) — (2,3,4) — (2,3,4,0) — (3,4,0)
9
1 5
1 5
1 3
2
3
2
1 6
3
2
5
3
5
解释#2
在样例 2 中,处理第 i 个查询后 A 的状态显示在 i 行上,如下所示。
(5) — (5,5) — (5,5,3) — (5,3) — (3,5) — (5) — (5,6) — (5,6) — (6)
数据范围
- 1 ≤ Q ≤ 2 × 105
- 0 ≤ x ≤ 109
- 当给出查询
2
时,A 不为空。
- 所有输入均为整数。