using namespace std;
int t, n;
int win[41][41];
int dp[100][100];
int get( int k,int n2 )
{
return ( k>=n2 )? (k-n2):k;
}
int main()
{
cin>>t;
while( t-- )
{
memset( dp,0,sizeof( dp ) );
scanf("%d",&n);
for( int i = 0;i < n;i++ )
{
for( int j = 0;j < n;j++ )
{
scanf( "%d",&win[i][j] );
}
}
int link = 2*n-1;
for( int i = 0;i < link;i++ ) dp[i][i+1] = 1;
for( int l = 2;l <= n;l++ )
{
for( int i = 0;i + l <= link;i++ )
{
for( int j = i+1;j < i+l;j++ )
{
if( dp[i][j] && dp[j][i+l] )
{
int k1 = get( i,n ), k2 = get( j,n ), k3 = get( i+l,n );
if( win[k1][k2] || win[k3][k2] )
{
dp[i][i+l] = 1;
break;
}
}
}
}
}
for( int i = 0;i < n;i++ )
{
if( dp[i][i+n] ) cout<<1<<endl;
else cout<<0<<endl;
}
cout<<endl;
}
return 0;
}