rendered paste body#include<stdio.h>
#define N 100
int n;
char a[N][N];
char vis[N];
int minmax(int pos, int lev)
{
int i, fl;
if(lev%2==0)
{
for(i=0;i<n;i++)
{
if(a[pos][i]==1 && vis[i]==0)
{
vis[i]=1;
if(minmax(i,lev+1))
{
vis[i]=0;
return 1;
}
vis[i]=0;
}
}
return 0;
}
else
{
for(i=0;i<n;i++)
{
if(a[pos][i]==1 && vis[i]==0)
{
vis[i]=1;
if(!minmax(i,lev+1))
{
vis[i]=0;
return 0;
}
vis[i]=0;
}
}
return 1;
}
}
int main()
{
long int ntests;
int i, j, p, fl;
scanf("%ld",&ntests);
while(ntests--)
{
scanf("%d",&n);
fl=1;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
scanf("%d",&p);
a[i][j]=p;
}
vis[i]=0;
}
for(i=0;i<n && fl;i++)
{
vis[i]=1;
if(minmax(i,1))
{
fl=0;
}
vis[i]=0;
}
if(fl)
printf("NO\n");
else
printf("YES\n");
}
return 0;
}