T653387 [CFCOI] 冰封线段树
题目背景
::::info[题目信息]
- 出题人:@[zhangruixiang](https://www.luogu.com.cn/user/1293987)
- 验题人(std & sol):@[035966_L3](https://www.luogu.com.cn/user/365654)
- 数据:@[zhangruixiang](https://www.luogu.com.cn/user/1293987) @[035966_L3](https://www.luogu.com.cn/user/365654)
不要再说这是板子了qwq!!
https://www.luogu.com.cn/discuss/1133912
***
本题已经同步转移至 [Sleeping Cup P193](http://8.136.99.126/p/P193)。
[](https://cdn.luogu.com.cn/upload/image_hosting/h9iut3fc.png"图片已撤下")
::::
:::align{center}
雪葬……
$\color{#dcdc00}{\texttt{-1225}}$

:::
题目描述
Bizy 有一个序列。但是由于未知原因,它时常被冻住。\
\
有以下操作:
- `1 l r x` 将 $[l,r]$ 中的所有数加上 $x$ ,即为 『加』操作。
- `2 l r` 查询 $[l,r]$ 的区间和并取模。
- `3 l r x` 将 $[l,r]$ 冰封,冰封值为 $x$ ,这使得接下来对这个区间内的所有数的『加』操作所加上的数值乘上 $x$ 。这被成为『效果』。『效果』可以叠加。
- `4 l r` Bizy 施展技能将 $[l,r]$ 解冻,并移除这一段的所有『效果』(即使这一个区间被冰封两次以上)。
初始所有数均为0、没有任何『效果』。所有操作(包括对序列的加以及『效果』的乘)对 $10^9+7$ 取模。
输入格式
第一行,两个数 $n,m$ 代表序列长度和操作数量。\
\
接下来 $m$ 行,一行一个操作,格式见上。
输出格式
见上,对操作2进行输出,并换行。
说明/提示
**负数取模需要取成正数,如果需要求 $a \bmod p$,使用 `(a%p+p)%p`**
所有测试点满足 $-10^6\le x\le 10^6$。\
\
以下同一行的测试点均开启捆绑测试。
::cute-table{tuack}
| 测试点 | 性质 | 数据范围 |
|:-:|:-:|:-:|
| $1,2$ | 无 | $n,m\le1000$ |
| $3,4$ | $A$ | $n,m\le2\times10^5$ |
| $5,6$ | $B$ | $n,m\le2\times10^5$ |
| $7,8$ | $C$ | $n,m\le2\times10^5$ |
|$9,10$|无|$n,m\le2\times10^5$|
$A:$ 没有 $3,4$ 操作。\
$B:$ 没有 $4$ 操作,对于所有 $3$ 操作,满足 $x=0$。\
$C:$ 对于所有 $3$ 操作,满足 $x=0$。
***
注意时间限制。