2021 ECNU XCPC 预备班 小测 #1

C. 矩阵变换

单点时限: 2.0 sec

内存限制: 512 MB

Rachel在线性代数的折磨之下累得趴在图书馆的桌子上睡着了。她做了一个奇怪的梦。梦里在她的面前出现了一个$n$ 行 $m$ 列的矩阵,旁边站着一个自称数神的白发老头。他嘴里念念有词,似乎矩阵随着他的咒语不断变换。

醒来的时候Rachel惊奇地发现她的桌上多出了一张纸,纸上印着的正是刚才初始的矩阵以及老者的咒语。经过破译,她得知老者的每条命令的含义都是将矩阵的一个子方阵顺时针旋转一圈。

但她已经累得不行了,你愿意帮助她计算出最终的矩阵长什么样子吗?

输入格式

第一行三个数 $n$, $m$, $q$ 分别表示矩阵的行数、列数和操作个数。
接下来 $n$ 行每行 $m$ 个数表示一开始矩阵中的值。
接下来 $q$ 行每行 $3$ 个数 $x$ , $y$ , $c$ 表示操作区域为以第 $x$ 行第 $y$ 列为左上角的边长为 $c$ 的正方形。

数据保证 $n$ , $m$ , $q$ 均小于等于$100$,矩阵中的值在 $0$ 到 $9$ 之间。

输出格式

一个 $n$ 行 $m$ 列的矩阵表示最后的棋盘。

样例

Input
4 5 1
1 2 3 4 5
6 7 8 9 0
1 2 3 5 4
6 7 8 9 0
2 2 3
Output
1 2 3 4 5
6 7 2 7 0
1 8 3 8 4
6 9 5 9 0