#432. 伏犬的矩阵游戏

伏犬的矩阵游戏

题目描述

伏犬 有一个 n×mn\times m 的矩阵。每行的数字组成一个 11mm 的排列。

他现在可以进行如下两个操作:

  1. 选择两列,交换他们的所有元素。这个操作最多被执行一次。
  2. 选择一行中的两个元素(不一定相邻),交换他们。每一行至多一次。

现在询问是否能将矩阵的每一行都排成升序的。

输入格式

第一行仅有一个数字 T(1T10)T(1\leq T\leq 10) 代表数据组数。下面依次是每一组数据

每组数据第一行有两个整数 n,m(1n,m20)n,m(1\leq n,m\leq 20) 表示矩阵的大小。

接下来 nn 行,每行 mm 个数 保证每行的数字组成一个 11mm 的排列。

输出格式

每组数据一行 YESNO

样例

样例输入

3
2 4
1 3 2 4
1 3 4 2
4 4
1 2 3 4
2 3 4 1
3 4 1 2
4 1 2 3
3 6
2 1 3 4 5 6
1 2 4 3 5 6
1 2 3 4 6 5

样例输出

YES
NO
YES