#RANK2TTL1T8. 像素

像素

你获得了一张黑白照片,这张图片可以看作一个 n×mn × m 的二维数组,其中每个位置上的值只可能是:

  • 00:白色像素
  • 11:黑色像素

接下来你需要执行若干次操作,对图片中的一些区域进行修改。

给定一个 n×mn × m 的二维数组,表示一张黑白图片。

接下来有 qq 次操作,每次操作有以下两种类型之一:

  • 操作 1:将某个矩形区域中的所有像素颜色反转。
  • 操作 2:查询某个矩形区域中黑色像素(值为 1)的数量。

你需要按照顺序执行所有操作,并输出每次查询的结果。

输入描述

第一行输入三个整数 n,m,q(1n,m100,1q1000)n, m, q (1 \leq n, m \leq 100, 1 \leq q \leq 1000)

表示图片的行数、列数和操作次数。

接下来输入 nn 行,每行输入 mm 个整数,表示初始图片。 保证每个数都是 0011

接下来 qq 行,每行描述一次操作,格式如下两种之一:

1 x1 y1 x2 y2

表示将左上角为 (x1,y1)(x_1, y_1)、右下角为 (x2,y2)(x_2, y_2) 的矩形区域内所有像素反转。

2 x1 y1 x2 y2

表示查询左上角为 (x1,y1)(x_1, y_1)、右下角为 (x2,y2)(x_2, y_2) 的矩形区域内值为 11 的元素个数。

保证:1x1x2n1 \leq x_1 \leq x_2 \leq n,1y1y2m1 \leq y_1 \leq y_2 \leq m

输出描述

对于每个类型为 2 的操作,输出一行一个整数,表示查询区域内黑色像素的数量。

样例输入

3 4 5
0 1 0 0
1 0 1 0
0 0 1 1
2 1 1 3 4
1 1 2 2 3
2 1 1 2 3
1 2 2 3 4
2 2 1 3 4

样例输出

5
3
4