「MXOI Round 2」队列

题目描述

小 C 有一个队列,他要对这个队列进行 $q$ 次操作。操作共四种,参数分别如下: $1\ x$:这是第一种操作,表示从队尾依次插入 $1,2,3,\cdots,x$; $2\ y$:这是第二种操作,表示弹出队头的前 $y$ 个元素; $3\ z$:这是第三种操作,表示查询队列中的第 $z$ 个元素; $4$:这是第四种操作,表示查询队列中所有元素的最大值。 你需要帮助他维护这个队列,并对于每个第三种操作和第四种操作,输出查询的答案。

输入输出格式

输入格式


第一行两个整数 $c,q$,其中 $c$ 表示测试点编号。$c=0$ 表示该测试点为样例。 接下来 $q$ 行,每行 $1 \sim 2$ 个整数,表示一个操作,格式见【**题目描述**】。

输出格式


对于每个第三种操作和第四种操作,输出一行一个整数,表示查询的答案。

输入输出样例

输入样例 #1

0 9
1 5
1 3
2 2
1 4
3 6
3 8
2 4
4
3 3

输出样例 #1

3
2
4
1

说明

#### 【样例解释 #1】 在进行第四次操作后,队列中的元素依次为 $3,4,5,1,2,3,1,2,3,4$。 在进行第七次操作后,队列中的元素依次为 $2,3,1,2,3,4$。 #### 【样例 #2】 见附加文件中的 `queue/queue2.in` 与 `queue/queue2.ans`。 该样例满足测试点 $1$ 的限制。 #### 【样例 #3】 见附加文件中的 `queue/queue3.in` 与 `queue/queue3.ans`。 该样例满足测试点 $4$ 的限制。 #### 【样例 #4】 见附加文件中的 `queue/queue4.in` 与 `queue/queue4.ans`。 该样例满足测试点 $11$ 的限制。 #### 【样例 #5】 见附加文件中的 `queue/queue5.in` 与 `queue/queue5.ans`。 该样例满足测试点 $15$ 的限制。 #### 【样例 #6】 见附加文件中的 `queue/queue6.in` 与 `queue/queue6.ans`。 该样例满足测试点 $20$ 的限制。 #### 【数据范围】 设 $\sum x$ 表示单个测试点内 $x$ 之和。 对于 $100\%$ 的数据,$1 \le q \le 2\times 10^5$,$1 \le x,y,z \le 10^9$,$0 \le \sum x \le 2\times10^{14}$,保证在进行第二种操作前队列内元素个数不小于 $y$,在进行第三种操作前队列内元素个数不小于 $z$,在进行第四种操作前队列内元素个数大于 $0$。 |测试点编号|$q \le$|$x \le$|$\sum x \le$|特殊性质| |:---:|:---:|:---:|:---:|:---:| |$1\sim3$|$500$|$500$|$2\times10^5$|C| |$4\sim8$|$5000$|$5000$|$2\times10^7$|无| |$9\sim10$|$2\times10^5$|$10^9$|$2\times10^{14}$|AB| |$11\sim12$|$2\times10^5$|$10^9$|$2\times10^{14}$|B| |$13\sim14$|$2\times10^5$|$10^9$|$2\times10^9$|AC| |$15\sim16$|$2\times10^5$|$10^9$|$2\times10^9$|C| |$17\sim18$|$2\times10^5$|$500$|$2\times10^7$|无| |$19$|$2\times10^5$|$10^9$|$2\times10^9$|无| |$20$|$2\times10^5$|$10^9$|$2\times10^{14}$|无| 特殊性质 A:没有第二种操作。 特殊性质 B:没有第三种操作。 特殊性质 C:没有第四种操作。