#CF2043E. 矩阵变换

矩阵变换

E. 矩阵变换 时间限制:1 秒 内存限制:256 MB

给定两个大小为 n×mn \times m 的矩阵 AABB,矩阵中的元素是 0010910^9 之间的整数。你可以对矩阵 AA 进行任意顺序和任意次数的以下操作:

  • &=:选择两个整数 iixx1in1 \le i \le nx0x \ge 0),将第 ii 行的每个元素替换为该元素与 xx 按位与的结果。形式化地说,对于每个 j[1,m]j \in [1, m],元素 Ai,jA_{i,j} 被替换为 Ai,j & xA_{i,j} \ \&\ x
  • |=:选择两个整数 jjxx1jm1 \le j \le mx0x \ge 0),将第 jj 列的每个元素替换为该元素与 xx 按位或的结果。形式化地说,对于每个 i[1,n]i \in [1, n],元素 Ai,jA_{i,j} 被替换为 Ai,j  xA_{i,j} \ | \ x

每次操作中的 xx 可以选择不同的值。

判断是否可以通过若干次(包括零次)操作将矩阵 AA 变换为矩阵 BB

输入 第一行包含一个整数 tt1t1001 \le t \le 100)—— 测试用例的数量。接下来是 tt 个测试用例。

每个测试用例的格式如下:

  • 第一行包含两个整数 nnmm1n,m1031 \le n, m \le 10^3nm103n \cdot m \le 10^3)—— 矩阵 AABB 的维度;
  • 接下来 nn 行描述矩阵 AA,第 ii 行包含 mm 个整数 Ai,1,Ai,2,,Ai,mA_{i,1}, A_{i,2}, \dots, A_{i,m}0Ai,j1090 \le A_{i,j} \le 10^9);
  • 接下来 nn 行描述矩阵 BB,第 ii 行包含 mm 个整数 Bi,1,Bi,2,,Bi,mB_{i,1}, B_{i,2}, \dots, B_{i,m}0Bi,j1090 \le B_{i,j} \le 10^9)。

输出 对于每个测试用例,如果可以将矩阵 AA 变换为矩阵 BB,则输出 Yes,否则输出 No。每个字母可以大写或小写。

示例 输入:

4
1 1
12
13
2 2
10 10
42 42
21 21
21 21
2 2
74 10
42 106
21 85
85 21
2 4
1 2 3 4
5 6 7 8
3 2 3 4
1 0 1 0

输出:

Yes
Yes
No
Yes

说明

考虑第二组输入数据,展示一个将矩阵 AA 变换为矩阵 BB 的操作序列:

初始矩阵为:

[10104242]\begin{bmatrix} 10 & 10 \\ 42 & 42 \end{bmatrix}
  1. 应用第一类操作:参数 i=1i=1x=0x=0。结果得到:
[004242]\begin{bmatrix} 0 & 0 \\ 42 & 42 \end{bmatrix}
  1. 应用第一类操作:参数 i=2i=2x=0x=0。结果得到:
[0000]\begin{bmatrix} 0 & 0 \\ 0 & 0 \end{bmatrix}
  1. 应用第二类操作:参数 j=1j=1x=21x=21。结果得到:
[210210]\begin{bmatrix} 21 & 0 \\ 21 & 0 \end{bmatrix}
  1. 应用第二类操作:参数 j=2j=2x=21x=21。结果得到:
[21212121]\begin{bmatrix} 21 & 21 \\ 21 & 21 \end{bmatrix}

这样,我们就将矩阵 AA 变换成了矩阵 BB