#P5309. [Ynoi2011] 初始化

[Ynoi2011] 初始化

Description

Mayuri 有 nn 颗星星,每颗星星都有一个明亮度 AiA_{i} 。Mayuri 时常想知道一个区间 [l,r][l,r] 内所有星星的明亮度的总和是多少。但是星星是会眨眼的,所以星星的明亮度是会变化的。有的时候,下标为 y,y+x,y+2x,y+3x,,y+kxy,y+x,y+2x,y+3x,\ldots,y+kx 的星星的明亮度会增加 zz。保证 yxy\leq x

Mayuri 不怎么会数学,请回答她的询问。答案要对 109+710^{9}+7 取模。

Input Format

第一行两个整数 nnmm,分别表示星星的数量和操作的数量。

接下来一行 nn 个数字 AiA_{i},表示初始的明亮度。

接下来 mm 行,每行先是一个整数表示操作类型,如果为 11 则是修改操作,接下来 33 个整数 x,y,zx,y,z;如果是 22 则为询问操作,接下来两个整数 l,rl,r

Output Format

对于每个询问操作,输出一行表示答案。

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

9
12
9
13

Hint

Idea:yanQval,Solution:yanQval,Code:yanQval,Data:yanQval&nzhtl1477

对于 10%10\% 的数据,满足 n,m1000n,m\leq 1000

对于另外 10%10\% 的数据,满足 x>1000x>1000

对于另外 10%10\% 的数据,满足 x>300x>300

对于另外 10%10\% 的数据,满足 n,m105n,m \leq 10^5

对于 100%100\% 的数据,1n,m2×1051\leq n,m\leq 2\times 10^51yxn1\leq y\leq x\leq n1lrn1\leq l\leq r\leq n0Ai,z109+70\leq A_i,z \leq 10^{9}+7