U243426 爱吃pizza的小P
题目描述
“终于放学啦!”一声欢呼后,小P以迅雷不及掩耳之势冲出教室,奔向学校的大门。原来,昨天的考试小P考得很好,再次拿下了全班第一的好成绩,班主任何老师便奖励他到学校门口对面的必buy客,送他一个自己最想吃的披萨。
当小P从必buy客的司经理手中接过一张大大的超级至尊披萨时,别提他有多兴奋了。但是兴奋过后,他便开始观察手里的这张披萨。披萨一共被划分成 $N$ 行和 $M$ 列——也就是一共 $N \times M$ 个小块,每一小块里都放上了满满的佐料。而由于后厨手抖,每一小块披萨上的佐料有多有少,因此吃起来的美味程度也不一样:第 $i$ 行第 $j$ 列的披萨小块表示为 $Pizza[i,j]$,其美味值为 $a[i,j]$。
小P打算从超级至尊披萨中切下一大块来吃,但是他在决定切哪一块披萨时犯了难:“如果我切下以 $Pizza[x, y]$ 为左上角、$Pizza[p, q]$ 为右下角的一整块披萨,吃起来到底有多美味呢?”于是他找到了你,班里的编程小王子,并向你提出了 $C$ 个这样的问题——第 $i$ 个问题为“以 $Pizza[x_i, y_i]$ 为左上角、$Pizza[p_i, q_i]$ 为右下角的一整块披萨,美味值总和是多少?”
小P一直忍住没有吃披萨,他快要饿坏了,你能赶紧帮帮他么?
输入格式
输入第一行为两个整数 $N, M$,表示披萨一共有 $N$ 行 $M$ 列。
接下来一共 $N$ 行,每行 $M$ 个用空格隔开的整数 $a[i,j]$,表示每小块披萨的美味值。
接下来一行是一个整数 $C$,表示小P一共有 $C$ 个问题。
接下来一共 $C$ 行,每行四个用空格隔开的整数 $x_i$, $y_i$, $p_i$, $q_i$,表示小P想问你“以 $Pizza[x_i, y_i]$ 为左上角、$Pizza[p_i, q_i]$ 为右下角的一整块披萨的美味值总和”。
输出格式
输出一共 $C$ 行,每行一个整数,表示小P问的问题对应的答案。
说明/提示
#### 样例解释
第一个问题的答案是 3+5+7+4+6+8=33;第二个问题的答案是 2+4+9+1=16。
#### 数据范围
$1 \leq N, M \leq 2500$
$1 \leq C \leq 200000$
$1 \leq a[i,j] \leq 1000$
$1 \leq x_i \leq p_i \leq N$
$1 \leq y_i \leq q_i \leq M$