﻿


**时间限制：** 1.0 秒 


**空间限制：** 512 MB

**相关文件：** 题目目录




## 题目背景

矩阵是高等代数学中的常见工具，也常见于统计分析等应用数学学科中。在物理学中，矩阵于电路学、力学、光学和量子物理中都有应用；计算机科学中，三维动画制作也需要用到矩阵。 矩阵的运算是数值分析领域的重要问题。

## 题目描述

你需要维护一个元素均为正整数的$n$阶矩阵，并支持以下几种操作：


1. 将该矩阵转置，即沿主对角线翻转。
2. 将该矩阵行循环移动$k$次，即第$1$行移动至第$k+1$行，第$2$行移动至第$k+2$行……，第$n-k+1$行移动至第$1$行……,第$n$行移动至第$k$行。
3. 将该矩阵列循环移动$k$次，即第$1$列移动至第$k+1$列，第$2$列移动至第$k+2$列……，第$n-k+1$列移动至第$1$列……,第$n$列移动至第$k$列。




## 输入格式

从标准输入读入数据。

第一行一个正整数$n$表示矩阵大小。

随后$n$行每行$n$个空格隔开的整数，表示矩阵中的元素。

随后一行一个正整数$q$表示操作次数。

随后$q$行每行表示一个操作，形如$1$或$2$ $k$或$3$ $k$。

## 输出格式

输出到标准输出。

对于每组数据，输出$n$行每行$n$个空格隔开的整数，表示依次进行所有操作后矩阵中的元素。






## 样例1输入

```plain
2
1 2
3 4
2
1
2 1

```



## 样例1输出

```plain
2 4
1 3

```


## 样例2

见题目目录下的 *2.in* 与 *2.ans*。

## 子任务

对于$30\%$的数据，保证$n,q\leq 10$。

对于另外$20\%$的数据，保证只有操作$1$。

对于$100\%$的数据，保证$1\leq n,q\leq 100$,$0 \leq k < n$,矩阵中元素的值不超过$10^9$。