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