#include<bits/stdc++.h>
using namespace std;

const int N=1010;
char a[N][N],b[N][N];
int n,T;

void turn(int x,int f)
{
	if(f==0)
	{
		for(int i=0;i<n;i++)
		{
			b[i][x]=(b[i][x]^'1')+'0';
		}
	}
	else
	{
		for(int i=0;i<n;i++)
		{
			b[x][i]=(b[x][i]^'1')+'0';
		}
	}
} 
int main()
{
	cin>>T;
	while(T--)
	{
		memset(a,'\0',sizeof(a));
		memset(b,'\0',sizeof(b));
		cin>>n;
		for(int i=0;i<n;i++) cin>>a[i];
		//string tmp;getline(cin,tmp); 
		for(int i=0;i<n;i++) cin>>b[i];
		for(int i=0;i<n;i++)
			if(a[0][i]!=b[0][i]) turn(i,0);
		for(int i=0;i<n;i++)
			if(a[i][0]!=b[i][0]) turn(i,1);
		int f=1;
		for(int i=0;i<n;i++)
		{
			string x=a[i],y=b[i];
			if(x!=y)
			{
				f=0;break;
			}
		}
		if(f) cout<<"YES\n";
		else cout<<"NO\n";
	}
	return 0;
}
