1731. 珂朵莉树

16506284975519.png

16506285168218.png

16506285421450.png

16506285649246.png

16506285809898.png

16506285939282.png

16506286043945.png

珂朵莉树就是由若干珂朵莉作为节点构成的树!(逃

你有一个长度为 n 的序列,下标从 1 开始,一开始每个数都是 1236895 ,你需要维护 m 次下列操作:

  1. 1 l r x 将区间 [l,r] 的每个值都设为 x
  2. 2 l r x 将区间 [l,r] 的每个值都加上 x
  3. 3 l r 查询区间 [l,r] 的值之和

输入

输入一行两个整数 n,m(1\le n,m\le10^5)

接下来输入 m 行,每行格式为上面所述三种之一。保证 1\le l\le r\le10^5,1\le x\le10^7 ,保证数据随机。

输出

对于每个操作 3 ,输出一行一个整数代表区间和

样例

标准输入 复制文本
10 5
3 1 5
1 2 5 114514
2 4 6 1919180
3 5 7
3 1 10
标准输出 复制文本
6184475
6426664
13636966

提示

修改后的序列为:1236895, 114514, 114514, 2033694, 2033694, 3156075, 1236895, 1236895, 1236895, 1236895

登录以提交代码。
单点时限 1 秒
内存限制 128 MB
提交 11
通过 6