#abc256h. [abc256_h]I like Query Problem

[abc256_h]I like Query Problem

题目描述

给定 NNQQA=(a1,ldots,aN)A=(a_1,\\ldots,a_N)
处理以下 QQ 个查询,每个查询的描述如下:

  • 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}_i 表示要处理的第 ii 个查询:

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

每个查询可以采用以下三种格式之一:

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)。因此,第一个查询的答案是 a1+a2+a3=2+5+6=13a_1 + a_2 + a_3 = 2 + 5 + 6 = 13
处理完第二个查询后,A=(2,2,3)A = (2, 2, 3)。因此,第三个查询的答案是 a1+a2=2+2=4a_1 + a_2 = 2 + 2 = 4
处理完第四个查询后,A=(3,3,3)A = (3, 3, 3)。因此,第五个查询的答案是 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