2023030744 - 数字卡片

通过次数

1

提交次数

3

时间限制 : 2 秒
内存限制 : 128 MB

为了整理学校下发的数学学习辅助教具——《数字卡片》,你需要将卡片按顺序叠成一堆。

接下来你需要完成 Q 个操作,其中第 ii 个操作需要按照规定执行:

  • 如果 ti=1t_i = 1,你需要将一张写着 xix_i 的卡片放到卡片堆的最上面。
  • 如果 ti=2t_i = 2,你需要将一张写着 xix_i 的卡片放到卡片堆的最下面。
  • 如果 ti=3t_i = 3,你需要输出从上到下第 xix_i 张卡片上的数字。

请你编写一个程序,完成这些操作。

输入

通过标准输入给出符合以下格式的输入:

QQ

t1  x1t_1\ \ x_1

t2  x2t_2\ \ x_2

......

tQ  xQt_Q\ \ x_Q

输出

每一次 ti=3t_i = 3,你都需要输出一个整数,以换行分隔。

样例

输入
复制

6
1 2
1 1
2 3
3 1
3 2
3 3

输出
复制

1
2
3

输入
复制

6
2 1
3 1
2 2
3 1
2 3
3 1

输出
复制

1
1
1

输入
复制

6
1 1000000000
2 200000000
1 30000000
2 4000000
1 500000
3 3

输出
复制

1000000000

提示

数据规模与约定

2Q1052≤Q≤10^5

1ti31≤t_i≤3

ti=1,2t_i = 1,2 时,1xi1091≤x_i≤10^9

ti=3t_i = 3 时,1xik1≤x_i≤k,其中 kk 表示目前卡片堆中卡片的数目。

所有 tit_i 保证至少有一个 1 或者 2,并且至少有一个 3。

样例解释

1、第一次操作后,卡片堆中的卡片为 (2)(2);第二次操作后,卡片堆中的卡片为 (1,2)(1,2);第三次操作后,卡片堆中的卡片为 (1,2,3)(1,2,3)。此时进行三次 ti=3t_i=3 的询问,分别询问第一、二、三张,因此输出为 1 2 3,以换行分割。