你的朋友达达被邀请参加一个叫做“超级备忘录”的电视节目。
在这个节目中,参与者需要玩一个记忆游戏。
在一开始,主持人会告诉所有参与者一个数列,$A_1, A_2, …, A_n$。
接下来,主持人会在数列上做一些操作,操作包括以下几种:
ADD x y D
:给子序列 $\{A_x, …, A_y\}$ 统一加上一个数 $D$。例如,在 $\{1, 2, 3, 4, 5\}$ 上进行操作ADD 2 4 1
会得到 $\{1, 3, 4, 5, 5\}$。REVERSE x y
:将子序列 $\{A_x, …, A_y\}$ 逆序排布。例如,在 $\{1, 2, 3, 4, 5\}$ 上进行操作REVERSE 2 4
会得到 $\{1, 4, 3, 2, 5\}$。REVOLVE x y T
:将子序列 $\{A_x, …, A_y\}$ 轮换 $T$ 次。例如,在 $\{1, 2, 3, 4, 5\}$ 上进行操作REVOLVE 2 4 2
会得到 $\{1, 3, 4, 2, 5\}$。INSERT x P
:在 $A_x$ 后面插入 $P$。例如,在 $\{1, 2, 3, 4, 5\}$ 上进行操作INSERT 2 4
会得到 $\{1, 2, 4, 3, 4, 5\}$。DELETE x
:删除 $A_x$。例如,在 $\{1, 2, 3, 4, 5\}$ 上进行操作DELETE 2
会得到 $\{1, 3, 4, 5\}$。MIN x y
:询问子序列 $\{A_x, …, A_y\}$ 中的最小值。例如,$\{1, 2, 3, 4, 5\}$ 上执行MIN 2 4
的正确答案为 $2$。
为了使得节目更加好看,每个参赛人都有机会在觉得困难时打电话请求场外观众的帮助。
你的任务是看这个电视节目,然后写一个程序对于每一个询问计算出结果,这样可以使得达达在任何时候打电话求助你的时候,你都可以给出正确答案。
输入格式
第一行包含一个整数 $n$。
接下来 $n$ 行给出了序列中的数。
接下来一行包含一个整数 $M$,描述操作和询问的数量。
接下来 $M$ 行给出了所有的操作和询问。
输出格式
对于每一个 MIN
询问,输出正确答案。
每个答案占一行。
数据范围
$n \le 100000,M \le 100000$,
初始序列中数的范围 $[1,10^5]$。
操作保证合法,序列中的数始终都在 int 范围内。
输入样例:
5
1
2
3
4
5
2
ADD 2 4 1
MIN 4 5
输出样例:
5