#CF1983B. 角点操作

角点操作

B. 角点操作

时间限制:1 秒
内存限制:256 兆字节

给定两个数字网格 aabb,分别有 nn 行和 mm 列。网格中的所有值都是 001122

你可以对 aa 执行任意多次以下操作:

  • 在网格中选择任意一个长度和宽度都 2\ge 2 的子矩形(你可以选择整个网格作为子矩形)。
  • 该子矩形有四个角。选择其中一对对角,将它们各自的值在模 33 下加 11
  • 对于未被选中的另一对对角,将它们各自的值在模 33 下加 22

注意:操作只改变所选子矩形四个角的值。

问:能否通过任意多次(包括零次)上述操作将网格 aa 转换为网格 bb

输入

第一行包含一个整数 tt,表示测试用例的数量(1t2501 \le t \le 250)。

对于每个测试用例:

  • 第一行包含两个整数 nnmm,表示网格的行数和列数(2n,m5002 \le n, m \le 500)。
  • 接下来的 nn 行,每行包含 mm 个字符 —— 第 ii 行的第 jj 个字符表示 ai,ja_{i,j}
  • 再接下来的 nn 行,每行包含 mm 个字符 —— 第 ii 行的第 jj 个字符表示 bi,jb_{i,j}0ai,j,bi,j20 \le a_{i,j}, b_{i,j} \le 2)。

保证所有测试用例的 nn 之和以及 mm 之和均不超过 500500

输出

对于每个测试用例,如果可能将 aa 转换为 bb,则输出 "YES",否则输出 "NO"

你可以以任意大小写输出答案。例如,"yEs""yes""Yes""YES" 都会被识别为肯定回答。

示例

输入

7
3 3
000
000
000
111
111
111
4 4
0000
0000
0000
0000
2100
1200
0012
0021
4 4
1020
1200
1210
0000
0000
1200
2200
0000
3 3
012
012
012
010
111
011
8 8
00000000
00000000
00000000
00000000
00000000
00000000
00000000
10000000
00000000
01200000
02010000
00102000
00020100
00001020
00000210
10000000
2 7
0000000
0000000
2220111
0111222
2 7
0000000
0100010
2220111
1210202

输出

YES
YES
YES
NO
YES
NO
YES

注释

在第一个测试用例中,可以通过以下方式将网格 aa 转换为 bb

$ \begin{matrix} 000 & \Rightarrow & 102 & \Rightarrow & 102 & \Rightarrow & 111 & \Rightarrow & 111 & \Rightarrow & 111 \\ 000 & & 000 & & 012 & & 000 & & 102 & & 111 \\ 000 & & 201 & & 222 & & 222 & & 120 & & 111 \end{matrix} $

每一步中,所选子矩形的右上角和左下角(用方框标出)在模 33 下增加 22,而左上角和右下角在模 33 下增加 11

在第四个测试用例中,可以证明无法通过任意次上述操作将 aa 转换为 bb