OJ现已增加邮箱找回密码功能,还没有绑定邮箱的同学们请抓紧时间,以免密码丢失无法找回


问题 N: X的序列

问题 N: X的序列

时间限制: 4 Sec  内存限制: 128 MB
提交: 83  解决: 28
[提交] [状态] [讨论版] [命题人:]

题目描述

现在给你一个长度为n的序列,初始全为0。现在让你执行m次操作。
支持以下两种操作,共执行m次。
1 l r x1 : 将区间Al~~Ar的每一个值都加上x1。
2 l r x2 : 执行操作编号在[l,r]内的所有操作各x2次,保证r小于当前操作的编号。
执行完m次操作以后,进行q此询问。
每次输入两个整数 l,r。
输出序列l到r的区间和。
结果对1e9+7取模。

输入

第一行两个数n,m分别表示数组长度及操作次数。
接下来m行,每行四个数 op,l,r,x 表示一次操作。
接下来一行输入一个整数q。
接下来q行两个整数l和r。

输出

输出q行每行一个整数表示区间和。

样例输入 Copy

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

样例输出 Copy

3
3
3
0
9

提示

数据范围 :
    1<=n,m,q<=1e5;
    |x1|<=1e5;
    1<=x2<=1e5;