1526: 碎片

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

Description

小X的记忆中,有一幅N*M的中心对称的图案。

而现在,他的脑海中只有一幅有所变动的图案,它同样是N*M的,但却不 一定是中心对称的。

小X决定修补这一图案,他能够进行的操作共有两种:交换两行,或者交换 两列。小X想要知道能否通过有限(可能为0)次操作让它变得中心对称。

为了保证数据的强度,一个测试点中可能包含多组测试数据。


Input

第一行两个整数Num、T,Num表示测试点编号,以便选手方便地获得部分 分,你可能不需要用到这则信息,样例中Num的含义为数据范围与某个测试点 相同;T表示该测试点中包含的测试数据的组数。

对于接下来每一组测试数据,第一行两个整数N、M,表示图案的大小。 接下来一个N行M列的字符矩阵,表示图案。


Output

输出T行,每行一个YES或NO,表示是否能够使图案中心对称。

Sample Input Copy

6 1
2 3
ABC
BAC

Sample Output Copy

YES

HINT

【样例解释】

交换第2 列和第3 列,得到以下图案:

ACB

BCA

它是中心对称的。

【数据范围及子任务】
对于所有测试数据,保证1≤N、M≤12,1≤T≤10,图案由大写字母组成。
特殊限制:图案仅由A 和B 组成。

测试点编号

T

N

M

特殊限制

1

=1

=1

=1

YES

2

≤5

3

≤12

NO

4

=2

=2

YES

5

≤5

6

≤12

NO

7

^4

^4

YES

8

≤5

≤5

9

=5

≤3

≤3

10

11

NO

12

≤5

≤5

13

14

15

=10

^8

^8

YES

16

^9

^9

17

≤10

≤10

NO

18

≤11

≤11

19

≤12

≤12

20