3330 - 二维数组区间修改和查询

通过次数

4

提交次数

6

时间限制 : 1 秒
内存限制 : 512 MB

给定一个大小为n*m的零矩阵A,直到输入文件结束,你需要进行若干个操作,操作有两类:
Op=1 a b c d x,表示将左上角为(a,b),右下角为(c,d)的子矩阵全部加上x;
Op=2 a b c d,表示询问左上角为(a,b),右下角为(c,d)为顶点的子矩阵的所有数字之和。

输入

第一行两个正整数n,m,其中n,m分别表示矩阵的行数与列数。
接下来若干行直到Op=0文件结束,均代表你需要进行的操作。

输出

对于每个2操作,输出一行代表查询的结果。

样例

输入

4 4
1 1 1 3 3 2
1 2 2 4 4 1
2 2 2 3 3
0

输出

12

提示

对于100%的数据,1<=n,m<=2048,|x|<=500,操作不超过2*10^5个,保证运算过程中及最终结果均不超过64位带符号整数类型的表示范围,并且修改与查询的子矩阵存在。