長さ $N$ の数列 $A_1, A_2, \ldots, A_N$ が与えられます。以下のクエリを処理するプログラムを作成してください。
1 L R X: $L \le i \le R$ を満たすすべての $i$ について、$A_i = A_i + X$ と設定する。2 L R: $L \le i \le R$ を満たすすべての $i$ について、$A_i = \lfloor \sqrt{A_i} \rfloor$ と設定する。3 L R: $A_L + A_{L+1} + \ldots + A_R$ を出力する。
入力
最初の行には数列の長さ $N$ が含まれる。($1 \le N \le 100{,}000$)
2 行目には $A_1, A_2, \ldots, A_N$ が含まれる。($1 \le A_i \le 100{,}000$)
3 行目にはクエリの個数 $M$ が含まれる。($1 \le M \le 100{,}000$)
次の $M$ 行にはそれぞれクエリが 1 つずつ含まれる。($1 \le L \le R \le N$, $1 \le X \le 100{,}000$) 少なくとも 1 つのタイプ 3 のクエリが存在する。
出力
各タイプ 3 のクエリの結果を順に、1 行ずつ出力せよ。
入出力例
入力例 1
5 1 2 3 4 5 5 1 3 5 2 2 1 4 3 2 4 2 3 5 3 1 5
出力例 1
5 6