日本列島は東西に細長い列島である.日本列島は南北方向の境界線により N 個の区画に分けられている.区画には西から順に 1 から N までの番号が付けられている.現在,区画 i ( \(1 \le i \le N\) ) の標高は A i m である.
日本列島ではたびたび嵐が起きている.嵐が起きると波による浸食で各区画の標高が以下のように減少する.
強さ x の 西風の 嵐では,西から数えて x 個以内の区画のうち,「それより西に自身より標高の高い区画が存在しない」ようなすべての区画の標高が 1 m 減少する.すなわち,嵐の前の区画 i の標高を a i で表すと, \(i \le x\) かつ, \(1 \le k < i\) となるすべての k に対して a k ≦ a i となる場合に区画 i の標高は 1 m 減り,それ以外の場合には変わらない.
強さ x の 東風の 嵐では,東から数えて x 個以内の区画のうち,「それより東に自身より標高の高い区画が存在しない」ようなすべての区画の標高が 1 m 減少する.すなわち,嵐の前の区画 i の標高を a i で表すと, i ≧ N - x + 1 かつ, \(i < k \le N\) となるすべての k に対して a k ≦ a i となる場合に区画 i の標高は 1 m 減り,それ以外の場合には変わらない.
あなたは,今後 Q 日間の出来事をシミュレーションしなければならない. j 日目 ( \(1 \le j \le Q\) ) には次のような出来事が起きる.
T j = 1 のとき,強さ X j の西風の嵐が起きる.
T j = 2 のとき,強さ X j の東風の嵐が起きる.
T j = 3 のとき,その時点での区画 X j の標高を報告する.
なお,制約より,どの区画の標高も負にならないことが保証される.
現在の各区画の標高および今後 Q 日間の出来事が与えられるので, T j = 3 である日に対して,指定された区画の標高を求めるプログラムを作成せよ.
1 ≦ N ≦ 300 000 .
1 ≦ Q ≦ 300 000 .
Q ≦ A i ≦ 10 9 ( \(1 \le i \le N\) ).
1 ≦ T j ≦ 3 ( \(1 \le j \le Q\) ).
1 ≦ X j ≦ N ( \(1 \le j \le Q\) ).
入力される値はすべて整数である.
( 5 点) N ≦ 2 000 , Q ≦ 2 000 .
( 27 点) T j ≠ 3 ならば X j = N ( \(1 \le j \le Q\) ).
( 28 点) A 1 = A 2 = ... = A N = Q .
( 20 点) T j ≠ 2 ( \(1 \le j \le Q\) ).
( 20 点) 追加の制約はない.
入力は以下の形式で与えられる.
N Q
A 1 A 2 ... A N
T 1 X 1
T 2 X 2
:
T Q X Q
T j = 3 である j ( \(1 \le j \le Q\) ) それぞれに対して, j 日目時点での区画 X j の標高 ( m ) を表す整数を, 1 行ずつ順に出力せよ.
5 7
7 7 7 7 7
1 3
1 1
3 1
2 1
2 5
3 2
3 4
5
6
6
5 7
10 13 14 7 12
1 5
2 5
3 3
3 4
2 5
3 1
3 2
12
7
9
11
5 6
8 6 7 8 9
1 1
3 1
3 5
1 3
3 2
3 3
7
9
6
6
5 6
6 8 6 9 7
2 1
2 4
3 5
1 5
3 4
3 3
5
7
6