#z159. 线段树1

线段树1

题目描述

如题,已知一个长度为 nn 的数列 {ai}\{a_i\}1in1 \leq i \leq n),初始时 aa 序列满足 ai=ia_i = i。你需要进行下面两种操作:

  1. 将某区间每一个数加上 kk
  2. 求出某区间每一个数的和。

输入描述

第一行包含两个整数 n,mn, m,分别表示该数列数字的个数和操作的总个数。

接下来 mm 行每行包含 3344 个整数,表示一个操作,具体如下:

  1. 1 l r k:将区间 [l,r][l,r] 内每个数加上 kk
  2. 2 l r:输出区间 [l,r][l,r] 内每个数的和。

输出描述

输出包含若干行整数,即为所有操作 2 的结果。

输入样例

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

输出样例

9
9
18

数据范围

1m,k1051 \le m,k \le {10}^51lrn1051 \leq l \leq r \leq n\leq 10^5