#abc256h. [abc256_h]I like Query Problem

[abc256_h]I like Query Problem

問題文

N,QN, Q および A=(a1,a2,dots,aN)A = (a_1, a_2, \\dots, a_N) が与えられます。
以下で説明されるクエリを QQ 個処理してください。クエリは次の 33 種類のいずれかです。

  • 1 L R x : i=L,L+1,dots,Ri=L,L+1,\\dots,R について aia_i の値を $\\displaystyle \\left\\lfloor \\frac{a_i}{x} \\right\\rfloor$ に更新する。
  • 2 L R y : i=L,L+1,dots,Ri=L,L+1,\\dots,R について aia_i の値を yy に更新する。
  • 3 L R : displaystylesumi=LRai\\displaystyle\\sum_{i=L}^R a_i を出力する。

制約

  • 1leqNleq5times1051 \\leq N \\leq 5 \\times 10^5
  • 1leqQleq1051 \\leq Q \\leq 10^5
  • 1leqLleqRleqN1 \\leq L \\leq R \\leq N
  • 1leqaileq1051 \\leq a_i \\leq 10^5
  • 2leqxleq1052 \\leq x \\leq 10^5
  • 1leqyleq1051 \\leq y \\leq 10^5
  • 入力される値はすべて整数

入力

入力は以下の形式で標準入力から与えられる。ここでtextqueryi\\text{query}_iii 番目に処理するクエリである。

NN QQ a1a_1 a2a_2 dots\\dots aNa_N textquery1\\text{query}_1 textquery2\\text{query}_2 vdots\\vdots textqueryQ\\text{query}_Q

各クエリは以下の 33 種類のいずれかの形式で与えられる。

11 LL RR xx 22 LL RR yy 33 LL RR

出力

問題文の指示に従ってクエリへの答えを改行区切りで出力せよ。


入力例 1

3 5
2 5 6
3 1 3
1 2 3 2
3 1 2
2 1 2 3
3 1 3

出力例 1

13
4
9

はじめ、A=(2,5,6)A = (2, 5, 6) です。よって 11 番目のクエリの答えは a1+a2+a3=2+5+6=13a_1 + a_2 + a_3 = 2 + 5 + 6 = 13 になります。
22 番目のクエリを処理した直後は A=(2,2,3)A = (2, 2, 3) です。よって 33 番目のクエリの答えは a1+a2=2+2=4a_1 + a_2 = 2 + 2 = 4 になります。
44 番目のクエリを処理した直後は A=(3,3,3)A = (3, 3, 3) です。よって 55 番目のクエリの答えは a1+a2+a3=3+3+3=9a_1 + a_2 + a_3 = 3 + 3 + 3 = 9 になります。


入力例 2

6 11
10 3 5 20 6 7
3 1 6
1 2 4 3
3 1 3
2 1 4 10
3 3 6
1 3 6 2
2 1 4 5
3 1 6
2 1 3 100
1 2 5 6
3 1 4

出力例 2

51
12
33
26
132