10043: Count

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:1 Solved:0

Description

一个n*m的方格,初始时每个格子有一个整数权值。接下来每次有2种操作:

改变一个格子的权值;

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

Input

第一行有两个数N,M。

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

接下来输入一个整数Q。

之后Q行,每行描述一个操作。

 

操作1:“1 x y c”(不含双引号)。表示将格子(x,y)的权值改成c(1≤x≤n,1≤y≤m,1≤c≤100)。

 

操作2:“2 x1 x2 y1 y2 c”(不含双引号,x1≤x2,y1≤y2)。表示询问所有满足格子颜色为c,且x1≤x≤x2,y1≤y≤y2的格子(x,y的个数。

Output

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

Sample Input Copy

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

Sample Output Copy

1
2

HINT

 30%的数据,满足:n,m≤30,Q≤50000

 

100%的数据,满足:n,m≤300,Q≤200000