問題文
N 個の積み木が縦に積まれている。下から数えてi(1≤i≤N)番目の積み木には数字aiが書かれている。この積み木に対して、次の4種類のクエリから構成される Q 個のクエリを処理せよ。
- クエリ1 : 一番上の積み木の上に新しく数字 k と書かれた積み木を乗せる。
- クエリ2 : 下から p 番目の積み木に書かれた数字を出力する。
- クエリ3 : 一番上の積み木を取り除き、その数字を出力する。
- クエリ4 : 積み木を上下逆さまにする。つまり、下から数えてi(1≤i≤K)番目の積み木は上から数えてi番目の位置に移動する。
制約
- 1≤N≤105
- 1≤Q≤105
- 1≤ai,k≤109
- クエリ3を行う時点での積み木の個数は1個以上であることが保証される。
- クエリ2,3は1回以上与えられることが保証される。
入力
入力はすべて整数である。
N Q
a_1 a_2 ... a_N
Query_1
Query_2
...
Query_N
各クエリは以下のように与えられる。<br>
クエリ1
クエリ2
クエリ3
クエリ4
出力
クエリ2,3の出力を各クエリごとに1行づつ出力せよ。
サンプル
クエリ4によって積み木が上下逆さまになっています。
入力2
5 4
1 2 3 4 5
1 6
4
2 3
3