長さ $N$ の数列 $A_1, A_2, \ldots, A_N$ が与えられる。以下のクエリを実行するプログラムを作成せよ。
1 L R X: すべての $L \le i \le R$ について $A_i = A_i + X$ を適用する。2 L R S E: $A$ の $[L, R]$ の区間を $[S, E]$ にある数に変更する。つまり、このクエリの結果を数列 $B$ としたとき、$B_L = A_S, B_{L+1} = A_{S+1}, \ldots, B_R = A_E$ となり、$L \le i \le R$ に含まれないすべての $i$ について $B_i = A_i$ である。3 L R: $A_L + A_{L+1} + \ldots + A_R$ を出力する。
入力
最初の行に数列のサイズ $N$ が与えられる。($1 \le N \le 200{,}000$)
2 行目には $A_1, A_2, \ldots, A_N$ が与えられる。($-10^6 \le A_i \le 10^6$)
3 行目にはクエリの個数 $M$ が与えられる。($1 \le M \le 200{,}000$)
4 行目から $M$ 行には、クエリが 1 行に 1 つずつ与えられる。($1 \le L \le R \le N$, $1 \le S \le E \le N$, $E-S = R-L$, $-10^6 \le X \le 10^6$) 3 番目のクエリは 1 回以上与えられる。
出力
3 番目のクエリの結果を 1 行に 1 つずつ出力する。
入出力例
入力 1
5 1 2 3 4 5 5 3 1 5 1 1 3 1 3 1 3 2 1 3 2 4 3 1 5
出力 1
15 9 20