C1202 [JSOI2009]Count

内存限制:256 MB 时间限制:1000 ms

题目描述

一个 $N \times M$ 的方格,初始时每个格子有一个整数权值,接下来每次有 $2$ 个操作:

改变一个格子的权值。

求一个子矩阵中某个特定权值出现的个数。

输入格式

每一行有两个数字 $N,M$

接下来 $N$ 行,每行 $M$ 个数字。第 $i+1$ 行第 $j$ 个数字表示格子 $(i,j)$ 的初值。

接下来输入一个 $Q$,后面 $Q$ 行每行描述一个操作。

操作 1:1 x y c,表示将格子 $(x,y)$ 的值变为 $c$。

操作 2:2 x1 x2 y1 y2 c,表示询问所有满足格子中数字为 $c$ 的格子数字。

$(n,m \le 300,Q \le 5000)$

$(1 \le x \le N,1 \le y \le M,1 \le c \le 100)$

$(x_1 \le x \le x_2,y_1 \le y \le y_2)$

输出

对于每个操作 $2$,按输入中出现的顺序,依次输出一行一个整数表示所求得的个数。

样例

样例输入 1

3 3 1 2 3 3 2 1 2 1 3 3 2 1 2 1 2 1 1 2 3 2 2 2 3 2 3 2

样例输出 1

1 2

提示