#include<bits/stdc++.h>
using namespace std;
int t,n,m,f;
bitset<101> a[101];
bitset<101> ans[101];
bool check(int x){
bitset<101> v=0,u=0;
swap(a[1],a[x]);
for(int j=1;j<=n;++j){
if(a[1][j]!=ans[1][j]){
for(int i=1;i<=m;++i)
a[i].flip(j);
v[j]=1;
}
}
for(int i=2;i<=m;++i)
for(int j=2;j<=m;++j)
if(a[j]==ans[i]&&u[i]==0){
u[i]=1;
break;
}
for(int j=1;j<=n;++j)
if(v[j])
for(int i=1;i<=m;++i)
a[i].flip(j);
swap(a[1],a[x]);
for(int i=2;i<=m;++i)
if(!u[i])return 0;
return 1;
}
int main(){
cin>>t;
while(t--){
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
a[i]=0,ans[i]=0;
cin>>n>>m;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
cin>>f,a[j][i]=f;
for(int i=1;i<=n;++i)
for(int j=1;j<=m;++j)
cin>>f,ans[j][i]=f;
int s=0;
for(int i=1;i<=m;++i)
s+=check(i);
if(s)
puts("YES");else
puts("NO");
}
return 0;
}
80pts求助