#ys0048. 重构核心矩阵

重构核心矩阵

题目背景

最终战役!王老师终于来到了赛博王国的核心数据中心,病毒正在不断破坏数组,王老师必须进行动态维护。

题目描述

赛博王国的核心是一个长度为 NN 的数组 AA。共有 QQ 次操作,操作分为两种:

  1. 1 L R X:王老师将区间 [L,R][L, R] 内的每个元素加上 XX
  2. 2 L R:系统查询区间 [L,R][L, R] 内所有元素的和,用于评估目前的系统稳定性。 请你编写程序高速处理这些指令。

输入格式

第一行两个整数 N,QN, Q。 第二行 NN 个整数,表示核心数组的初始值 AiA_i。 接下来 QQ 行,每行首先输入一个整数 opop 代表操作类型。若 op=1op = 1,接着输入 L,R,XL, R, X;若 op=2op = 2,接着输入 L,RL, R

输出格式

对于每个 op=2op = 2 的操作,输出一行一个整数,表示该区间的元素总和。

样例输入


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

样例输出

15
15
21

数据规模与约定

对于 100% 的数据,1N,Q1051 \le N, Q \le 10^51Ai,X1041 \le A_i, X \le 10^4