#include <stdio.h>
#include <string.h>
FILE *in = fopen("perle.in", "r"), *out = fopen("perle.out", "w");
int n;
int a[11][100];
int t=0;
int poz=2;
void verifica(int i,char * s)
{
printf("verifica %d %s\n",poz,s);
if(strlen(s)+poz==a[i][0] && strchr(s,'b')==NULL && strchr(s,'c')==NULL) t=1;
else
if (strlen(s)<a[i][0])
{
int k1=500,k2=500;
if (strchr(s,'b')!=NULL)
k1=strchr(s,'b')-s+1;
if (strchr(s,'c')!=NULL)
k2=strchr(s,'c')-s+1;
//printf("%d**%d\n",k1,k2);
int k=(k1<k2)?k1:k2;
//printf("**%d**\n",k);
if (k!=500)
{
k=k+poz;
if(k==k1+poz)
{
//printf("aici**%d %d %d\n",i,k,a[i][k]);
if (a[i][k]==2)
{
char s1[]="b";
strcat(s1,strchr(s,'b')+1);
//printf("%s--\n",s1);
poz=k;
verifica(i,s1);
}
else
if (a[i][k]==1)
{
char s1[]="a3ac";
strcat(s1,strchr(s,'b')+1);
printf("mm %d %d %s--\n",k,poz,s1);
poz=k-1;
verifica(i,s1);
}
}
if(k==k2+poz)
{
printf("aaaaa%d \n",k);
if (a[i][k]==2)
{
char s1[]="";
strcat(s1,strchr(s,'c')+1);
//printf("%s---\n",s1);
poz=k;
verifica(i,s1);
}
if (a[i][k]==3)
{
char s1[]="bc";
strcat(s1,strchr(s,'c')+1);
//printf("%s---\n",s1);
poz=k;
verifica(i,s1);
}
if (a[i][k]==1)
{
char s1[]="2a";
strcat(s1,strchr(s,'c')+1);
//printf("%s----\n",s1);
poz=k;
verifica(i,s1);
}
}
}
}
}
int main()
{
fscanf(in, "%d", &n);
for ( int i = 0; i < n; ++i )
{
fscanf(in, "%d", &a[i][0]);
for ( int j = 1; j <=a[i][0]; ++j )
fscanf(in, "%d", &a[i][j]);
}
printf("\n**************\n");
for ( int i = 0; i < n; ++i )
{
for ( int j = 1; j <=a[i][0]; ++j )
printf("%d ",a[i][j]);
printf("\n");
}
printf("\n**************\n");
for ( int i = 0; i < n; ++i )
if(a[i][0]==1)
{
fprintf(out, "%d\n",1);
printf("\nrezultat %d\n",1);
}
else
{
t=0;
switch (a[i][1])
{
case 2:
verifica(i,"b");
break;
case 1:
if (a[i][0]==3) verifica(i,"2a");
else verifica(i,"a3ac");
break;
case 3:
verifica(i,"bc");
break;
}
fprintf(out, "%d\n",t);
printf("\nrezultat %d\n",t);
printf("*************\n");
}
return 0;
}