AT_abc278_d [ABC278D] All Assign Point Add

Description

[problemUrl]: https://atcoder.jp/contests/abc278/tasks/abc278_d 長さ $N$ の数列 $A=(A_1,A_2,\dots ,A_N )$ が与えられます。 $Q$ 個のクエリが与えられるので、順番にすべて処理してください。 $q$ 番目 $(1\le q\le Q$) のクエリは以下の $3$ つのいずれかの形式で、それぞれ次のようなクエリを表します。 - $1\text{ } x_q$ : $A$ のすべての要素に $x_q$ を代入する。 - $2\text{ }i_q \text{ }x_q$ : $A_{i_q}$に $x_q$ を加える。 - $3\text{ }i_q $ : $A_{i_q}$ の値を出力する。

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ $ \dots $ $ A_N $ $ Q $ $ \operatorname{query}_1 $ $ \operatorname{query}_2 $ $ \vdots $ $ \operatorname{query}_Q $ ただし、$ \operatorname{query}_q $ は $ q $ 番目のクエリであり、`1 x`, `2 i x`, `3 i` の形式のいずれかで与えられる。

Output Format

$ \operatorname{query}_q $ が $ 3 $ 番目の形式であるような $ q\ (1\leq\ q\leq\ Q) $ の個数を $ X $ として、$ X $ 行出力せよ。 $ j\ (1\leq\ j\leq\ X) $ 行目にはそのようなクエリのうち $ j $ 番目のクエリに対する答えを出力せよ。

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 2\times10^5 $ - $ 1\ \leq\ Q\ \leq\ 2\times10^5 $ - $ 0\ \leq\ A\ _\ i\ \leq\ 10^9\ (1\leq\ i\leq\ N) $ - $ q $ 番目 $ (1\leq\ q\leq\ Q) $ のクエリが $ 2 $ 番目もしくは $ 3 $ 番目の形式のとき、$ 1\ \leq\ i\ _\ q\ \leq\ N $ - $ q $ 番目 $ (1\leq\ q\leq\ Q) $ のクエリが $ 1 $ 番目もしくは $ 2 $ 番目の形式のとき、$ 0\ \leq\ x\ _\ q\ \leq\ 10^9 $ - $ 3 $ 番目の形式のクエリが存在する - 入力される値はすべて整数 ### Sample Explanation 1 はじめ、$ A=(3,1,4,1,5) $ です。 それぞれのクエリでは、以下のような処理が行われます。 - $ A_2=1 $ なので、$ 1 $ を出力します。 - $ A_3 $ に $ 4 $ を加えます。$ A=(3,1,8,1,5) $ となります。 - $ A_3=8 $ なので、$ 8 $ を出力します。 - $ A $ の要素すべてに $ 1 $ を代入します。$ A=(1,1,1,1,1) $ となります。 - $ A_3 $ に $ 4 $ を加えます。$ A=(1,1,5,1,1) $ となります。 - $ A_3=5 $ なので、$ 5 $ を出力します。 ### Sample Explanation 2 $ A $ の要素の値が $ 32\operatorname{bit} $ 整数に収まらない可能性があることに注意してください。