#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int T,i,j,n,ans,a[205][205],f[205],p[205];
int tot,head[205],Next[40005],to[40005];
void add(int x,int y)
{
tot++;
to[tot]=y;
Next[tot]=head[x];
head[x]=tot;
}
int dfs(int x,int T)
{
int i;
for(i=head[x];i!=-1;i=Next[i])
if(p[to[i]]!=T)
{
int y=to[i];
p[y]=T;
if(f[y]==0||dfs(f[y],T))
{
f[y]=x;
return 1;
}
}
return 0;
}
int main()
{
scanf("%d",&T);
while(T--)
{
scanf("%d",&n);
tot=0;
for(i=1;i<=n;i++)
{
head[i]=-1;
f[i]=p[i]=0;
}
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
scanf("%d",&a[i][j]);
if(a[i][j]) add(i,j);
}
ans=0;
for(i=1;i<=n;i++)
{
ans+=dfs(i,i);
}
if(ans==n) printf("Yes\n");else printf("No\n");
}
return 0;
}