资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
对于一个包含n个元素的序列A[0],A[1],A[2],A[3]……A[n - 1]可以进行一下三种操作
A l r d:使A[l],A[l+1],A[l+2]……A[r]均+d(保证a≤b)
M l r d:使A[l],A[l+1],A[l+2]……A[r]均×d(保证a≤b)
Q l r:查询A[l]+A[l+1]+A[l+2]+……+A[r]的和
序列中每一个数的初始值为0
输入格式
第一行输入两个整数n,m表示序列的长度为n,有m次操作。
之后输入m行,每行一个操作。
输出格式
对于每次查询输出一行一个整数表示查询的结果,由于结果可能过大,输出其对10007取模的结果即可。
样例输入
5 6
A 2 4 2
M 0 4 5
Q 1 3
M 1 2 3
Q 0 3
Q 1 4
样例输出
10
40
50
数据规模和约定
n ≤ 100000.
m ≤ 20000.
d ≤ 1000