#249. A Simple Problem with Integers

A Simple Problem with Integers

题目描述

给定长度为 NN 的数列 AA,然后输入 MM 行操作指令。

第一类指令形如 1 l r d,表示把数列中第 l∼rl \sim r 个数都加 dd。

第二类指令形如 2 l r,表示询问数列中第 ll 到第 rr 个数的和。

对于每个询问,输出一个整数表示答案。

输入格式

第一行包含两个整数 NN 和 MM。

第二行包含 NN 个整数 A[i]A[i]。

接下来 MM 行表示 MM 条指令,每条指令的格式如题目描述所示。

输出格式

对于每个询问,输出一个整数表示答案。

每个答案占一行。

样例

输入样例 #1

10 5
1 2 3 4 5 6 7 8 9 10
2 4 4
2 1 10
2 2 4
1 3 6 3
2 2 4

输出样例 #1

4
55
9
15

数据范围

1≤N,M≤1061 \le N,M \le 10^6,

∣d∣≤106|d| \le 10^6,

∣A[i]∣≤109|A[i]| \le 10^9