#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define sort stable_sort
#define endl '\n'
struct node
{
int nxt,to;
}e[5000001];
int din[2001],head[5000001],cnt=0;
char m[2001][2001];
void add(int u,int v)
{
cnt++;
e[cnt].nxt=head[u];
e[cnt].to=v;
head[u]=cnt;
}
bool top_sort(int n)
{
queue<int>q;
int i,k,num=0;
for(i=1;i<=n;i++)
{
if(din[i]==0)
{
q.push(i);
}
}
while(q.empty()==0)
{
k=q.front();
q.pop();
num++;
for(i=head[k];i!=0;i=e[i].nxt)
{
din[e[i].to]--;
if(din[e[i].to]==0)
{
q.push(e[i].to);
}
}
}
if(num==n)
{
return true;
}
else
{
return false;
}
}
int main()
{
int t,n,i,j,k;
scanf("%d",&t);
for(i=1;i<=t;i++)
{
cnt=0;
scanf("%d",&n);
memset(e,0,sizeof(e));
memset(din,0,sizeof(din));
memset(head,0,sizeof(head));
for(j=1;j<=n;j++)
{
for(k=1;k<=n;k++)
{
scanf("%c",&m[j][k]);
if(m[j][k]=='1')
{
add(j,k);
din[k]++;
}
}
}
if(top_sort(n)==false)
{
printf("Case #%d: Yes\n",i);
}
else
{
printf("Case #%d: No\n",i);
}
}
return 0;
}