#676. 子矩阵求和

子矩阵求和

子矩阵求和

题目描述

给定一个 nn 行 mm 列的整数矩阵,有 qq 次询问。

每次询问给出 x1,y1,x2,y2x_1, y_1, x_2, y_2,请你求出以 (x1,y1)(x_1, y_1) 为左上角、(x2,y2)(x_2, y_2) 为右下角的子矩阵中所有元素的和。

输入格式

第一行三个整数 n,m,qn, m, q。

接下来 nn 行,每行 mm 个整数,表示矩阵。

接下来 qq 行,每行四个整数 x1,y1,x2,y2x_1, y_1, x_2, y_2,表示一次询问。

输出格式

对于每次询问,输出一行一个整数,表示子矩阵的元素和。

样例

2 3 2
1 2 3
4 5 6
1 1 2 2
2 2 2 3
12
11

数据范围

1≤n,m≤10001 \le n, m \le 1000,1≤q≤1051 \le q \le 10^5,∣ai,j∣≤109|a_{i,j}| \le 10^9。

保证 1≤x1≤x2≤n1 \le x_1 \le x_2 \le n,1≤y1≤y2≤m1 \le y_1 \le y_2 \le m。

提示:子矩阵的和可能远超 int 的范围。