#include int T,n,a[51][51],l[51]; int read(){ int x=0; char ch=getchar(); while(ch<'0'||ch>'9')ch=getchar(); while(ch>='0'&&ch<='9')x=x*10+ch-'0',ch=getchar(); return x; } bool vis[51]; int main(){ scanf("%d",&T); for(int fd=1;fd<=T;++fd){ scanf("%d",&n); int L; for(int i=1;i<=n;++i){ scanf("%d",l+i); if(l[i])L=i; } for(int i=1;i<=n;++i) for(int j=1;j<=n;++j) a[i][j]=read(); for(int i=1;i<=n;++i)vis[i]=0; bool ans=1; for(int i=1,j=a[L][1];i