#abc283b. [abc283_b]First Query Problem

[abc283_b]First Query Problem

問題文

整数 NN と長さ NN の数列 A=(A1,A2,ldots,AN)A=(A _ 1,A _ 2,\\ldots,A _ N) が与えられます。

クエリが QQ 個与えられるので、与えられた順番に処理してください。 クエリは次の 22 種類のいずれかです。

  • 1 k x : AkA _ k の値を xx に変更する。
  • 2 k : AkA _ k の値を出力する。

制約

  • 1leqNleq1051 \\leq N \\leq 10 ^ 5
  • 1leqQleq1051 \\leq Q \\leq 10 ^ 5
  • 0leqAileq109(1leqileqN)0 \\leq A _ i \\leq 10 ^ 9\\ (1\\leq i\\leq N)
  • どのクエリについても、1leqkleqN1\\leq k\\leq N
  • 11 番目の形式のクエリについて、0leqxleq1090\\leq x\\leq 10 ^ 9
  • 22 番目の形式のクエリが 11 つ以上存在する
  • 入力はすべて整数

入力

入力は以下の形式で標準入力から与えられる。

NN A1A _ 1 A2A _ 2 ldots\\ldots ANA _ N QQ operatornamequery1\\operatorname{query} _ 1 operatornamequery2\\operatorname{query} _ 2 vdots\\vdots operatornamequeryQ\\operatorname{query} _ Q

ただし、operatornamequeryi\\operatorname{query} _ iii 個目のクエリを表しており、次の形式のいずれかで与えられる。

11 kk xx 22 kk

出力

22 番目の形式のクエリの回数を qq 回として qq 行出力せよ。 j(1leqjleqq)j\\ (1\\leq j\\leq q) 行目には、22 番目の形式のクエリのうち jj 個目のものに対する答えを出力せよ。


入力例 1

3
1 3 5
7
2 2
2 3
1 3 0
2 3
1 2 8
2 2
2 1

出力例 1

3
5
0
8
1

はじめ、A=(1,3,5)A=(1,3,5) です。

  • 11 つめのクエリにおいて、A=(1,3,5)A=(1,3,5) です。A2=3A _ 2=3 なので、33 を出力します。
  • 22 つめのクエリにおいて、A=(1,3,5)A=(1,3,5) です。A3=5A _ 3=5 なので、55 を出力します。
  • 33 つめのクエリでは、A3A _ 3 の値を 00 に変更し、A=(1,3,0)A=(1,3,0) となります。
  • 44 つめのクエリにおいて、A=(1,3,0)A=(1,3,0) です。A3=0A _ 3=0 なので、00 を出力します。
  • 55 つめのクエリでは、A2A _ 2 の値を 88 に変更し、A=(1,8,0)A=(1,8,0) となります。
  • 66 つめのクエリにおいて、A=(1,8,0)A=(1,8,0) です。A2=8A _ 2=8 なので、88 を出力します。
  • 77 つめのクエリにおいて、A=(1,8,0)A=(1,8,0) です。A1=1A _ 1=1 なので、11 を出力します。

入力例 2

5
22 2 16 7 30
10
1 4 0
1 5 0
2 2
2 3
2 4
2 5
1 4 100
1 5 100
2 3
2 4

出力例 2

2
16
0
0
16
100

入力例 3

7
478 369 466 343 541 42 165
20
2 1
1 7 729
1 6 61
1 6 838
1 3 319
1 4 317
2 4
1 1 673
1 3 176
1 5 250
1 1 468
2 6
1 7 478
1 5 595
2 6
1 6 599
1 6 505
2 3
2 5
2 1

出力例 3

478
317
838
838
176
595
468