#133. 二维树状数组 1:单点修改,区间查询

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: HeRaNO

题目描述

这是一道模板题。

给出一个 n×mn\times m 的零矩阵 AA,你需要完成如下操作:

  • 1 x y k:表示元素 Ax,yA_{x,y} 自增 kk
  • 2 a b c d:表示询问左上角为 (a,b)(a,b),右下角为 (c,d)(c,d) 的子矩阵内所有数的和。

输入格式

输入的第一行有两个正整数 n,mn,m
接下来若干行,每行一个操作,直到文件结束。

输出格式

对于每个 2 操作,输出一个整数,表示对于这个操作的回答。

样例

样例输入

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

样例输出

7

数据范围与提示

对于 10%10\% 的数据,n=1n=1
对于另 10%10\% 的数据,m=1m=1
对于全部数据,1n,m212,1x,a,cn,1y,b,dm,k1051\le n,m\le 2^{12},1\le x,a,c\le n,1\le y,b,d\le m,|k|\le 10^5,保证操作数目不超过 3×1053\times 10^5,且询问的子矩阵存在。