摩尔多瓦移动电话公司 Mokia 设计了一套新的客户定位系统。与任何定位系统一样,它可以轻松地以毫米级的精度回答任何形如“客户 C 的位置在哪里?”的查询。但这项技术真正的突破在于能够回答形如“在给定的矩形区域内有多少个客户?”的查询。
在定位系统中,世界被看作一个大小为 $W \times W$ 的正方形区域,由大小为 $1 \times 1$ 的单位正方形组成。一个单位正方形由其坐标 $(x, y)$ 唯一确定,其中 $1 \le x, y \le W$。索引从 1 开始,例如,对于大小为 $4 \times 4$ 的表格,我们有 $1 \le x \le 4$ 且 $1 \le y \le 4$(见下图)。
请帮助 Mokia 编写一个程序,计算给定的矩形区域内有多少个客户。
输入格式
输入数据按如下方式编码。每行输入代表一个操作,由一个表示指令的整数和若干个参数整数组成,格式如下表所示:
| 指令 | 参数 | 含义 |
|---|---|---|
| 0 | $W$ | 初始化矩阵大小为 $W \times W$,所有元素初始化为 0。该指令仅会出现一次,且为第一条指令。 |
| 1 | $x$ $y$ $A$ | 在格子 $(x, y)$ 的客户数量上增加 $A$。$A$ 为正整数。 |
| 2 | $X_1$ $Y_1$ $X_2$ $Y_2$ | 查询当前在格子 $(x, y)$ 中的客户总数,其中 $X_1 \le x \le X_2$ 且 $Y_1 \le y \le Y_2$。 |
| 3 | 无参数 | 结束程序。该指令仅会出现一次,且为最后一条指令。 |
对于除指令 2 以外的输入行,您的程序不应输出任何内容。如果指令为 2,则您的程序需要将查询的答案作为单行中的单个整数输出。
输出格式
对于每个指令 2,输出一行,包含一个整数,表示该矩形区域内的客户总数。
样例
输入样例 1
0 4 1 2 3 3 2 1 1 3 3 1 2 2 2 2 2 2 3 4 3
输出样例 1
3 5
说明
| 输入文件 | 输出文件 | 含义 |
|---|---|---|
0 4 |
表格大小为 $4 \times 4$,全部初始化为 0。 | |
1 2 3 3 |
在 $(2, 3)$ 处增加 3 个客户。 | |
2 1 1 3 3 |
查询矩形区域 $1 \le x \le 3$,$1 \le y \le 3$ 的客户总数。 | |
3 |
答案。 | |
1 2 2 2 |
在 $(2, 2)$ 处增加 2 个客户。 | |
2 2 2 3 4 |
查询矩形区域 $2 \le x \le 3$,$2 \le y \le 4$ 的客户总数。 | |
5 |
答案。 | |
3 |
退出程序。 |
数据范围
- $1 \le W \le 2\,000\,000$
- $1 \le X_1 \le X_2 \le W$
- $1 \le Y_1 \le Y_2 \le W$
- $1 \le x, y \le W$
- $0 < A \le 10\,000$
- “1”(添加)指令的数量不超过 $160\,000$。
- “2”(查询)指令的数量不超过 $10\,000$。