#include <bits/stdc++.h>
#define ll long long
#define real long double
#define fr(i,l,n) for(ll i=l;i<n;i++)
#define br cout<<"\n"
#define al(fu) (fu).begin(), (fu).end()
#define prl(c) cout<<(c)<<"\n"
#define prv(v) {fr(qz,0,v.size()) cout<<(v)[qz]<<' '; br;}
#define alr(fu) (fu).rbegin(), (fu).rend()
#define mod 1000000007LL
#define mod1 998244353LL
#define nfi 1000000000000000013LL
#define skoree ios::sync_with_stdio(0); cin.tie(0)
#define danet(b) cout<<(b?"YES":"NO")
#define Danet(b) cout<<(b?"Yes":"No")
using namespace std;

char aq(char a){
    if(a=='0') return '1';
    else return '0';
}

int main(){
    skoree;
    ll o0o;
    cin>>o0o;
    while(o0o--){
        ll n;
        cin>>n;
        vector<string> a(n),b(n);
        fr(i,0,n) cin>>a[i];
        fr(i,0,n) cin>>b[i];
        fr(i,0,n) if(a[0][i]!=b[0][i]){
            fr(j,0,n) a[j][i]=aq(a[j][i]);
        }
        bool bb=1;
        fr(i,1,n) if(a[i]!=b[i]){
            fr(j,0,n) a[i][j]=aq(a[i][j]);
            if(a[i]!=b[i]) bb=0;
        }
        danet(bb);br;
    }
    return 0;
}
/*
*/
