题目描述
你的朋友给了你一个大小为 $n \times m$ 的矩阵 $A$,他想请问你能否通过若干次操作将其还原成矩阵 $B$ ?
每次操作,你可以任意选择一个长和宽相等的子矩阵,将其进行转置(按主对角线翻转,即行列互换)。
例如,对于下面这个 $4 \times 5$ 的矩阵:
```text
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
```
如果选择左上角为 $(1, 2)$,右下角为 $(3, 4)$ 的这个大小为 $3 \times 3$ 的子矩阵进行转置,则矩阵将会变为:
```text
1 [2] [7] [12] 5
6 [3] [8] [13] 10
11 [4] [9] [14] 15
16 17 18 19 20
```
输入格式
第一行包含一个正整数 $T$ $(1 \le T \le 1000)$,表示测试数据组数。
对于每组数据,第一行包含两个正整数 $n, m$ $(2 \le n, m \le 400)$,表示矩阵的长和宽。
第 $2$ 行至第 $n+1$ 行,每行 $m$ 个整数,表示矩阵 $A$ $(0 \le A_{i,j} \le 1000)$.
第 $n+2$ 行至第 $2n+1$ 行,每行 $m$ 个整数,表示矩阵 $B$ $(0 \le B_{i,j} \le 1000)$.
数据保证 $\sum n \times m \le 2 \times 10^5$.
输出格式
对于每组数据,如果矩阵 $A$ 能够通过若干次操作变为矩阵 $B$,请在一行内输出 `YES`,否则输出 `NO`。
样例输入 #1
3
2 2
1 2
3 4
1 3
2 4
2 3
1 1 4
5 1 4
1 4 1
1 5 4
3 4
1 5 6 10
2 3 7 11
9 4 8 12
1 2 3 4
5 6 7 8
9 10 11 12
提示
对于样例三:
```text
1 5 6 10
2 3 7 11
9 4 8 12
```
```text
1 [5] [3] [4]
2 [6] [7] [8]
9 [10] [11] [12]
```
```text
[1] [2] 3 4
[5] [6] 7 8
9 10 11 12
```
来源
Adapted from 华东师范大学数据学院2022夏令营机试