/*
  AOJ 1118
  Title:Net of a dice
  @kankichi573
*/
#include <stdio.h>
#include <string.h>

int n;
int net[11][11];


void search_pos(int me,int *y,int *x)
{
  int i,j;

  for(i=3;i<8;i++)
    for(j=3;j<8;j++)
      if(net[i][j]==me)
	{
	  *y=i;*x=j;
	  return;
	}
}


int ck_rel_pos_sub(int y,int x,int y_,int x_)
{
  int i,j,ret;

  //printf("yxyx=%d %d %d %d\n",y,x,y_,x_);

  if(y+2==y_)
    {
      for(i=0;i<=3;i++)
	{
	  if(x_==x+i)
	    {
	      ret=-1;
	      for(j=0;j<=i;j++)
		{
		  //printf("ck* %d %d:%d\n",y+1,x+j,net[y+1][x+j]);
		  ret &= (net[y+1][x+j]!=0);
		}
	      if(ret)
		return(-1);
	    }
	}
      for(i=0;i>=-3;i--)
	{
	  if(x_==x+i)
	    {
	      ret=-1;
	      for(j=0;j>=i;j--)
		{
		  //printf("ck+ %d %d:%d\n",y+1,x+j,net[y+1][x+j]);
		  ret &= (net[y+1][x+j]!=0);
		}
	      if(ret)
		return(-1);
	    }
	}
    }
  return(0);
}

int ck_rel_pos(int y,int x,int y_,int x_)
{
  if(ck_rel_pos_sub(y,x,y_,x_))
    return(-1);
  return(ck_rel_pos_sub(x,y,x_,y_));
}

int solve()
{
  int i,ret[7];
  int posx[7],posy[7];

  for(i=1;i<=6;i++)
    {
      search_pos(i,&posy[i],&posx[i]);
      //printf("%d => %d %d\n",i,posy[i],posx[i]);
    }
 
  for(i=1;i<=6;i++)
    ret[i]=ck_rel_pos(posy[i],posx[i],posy[7-i],posx[7-i]);
  /*
 for(i=1;i<=6;i++)
   printf("[%d]%d|",i,ret[i]);
 printf("\n");
  */
  return((ret[1]||ret[6]) && (ret[2]||ret[5]) && (ret[3]||ret[4]));
}
main()
{
  int i,j,k,ret;

  scanf("%d",&n);
  for(i=0;i<n;i++)
    {
      memset(&net[0][0],0,11*11);
      
      for(j=0;j<5;j++)
	for(k=0;k<5;k++)
	  scanf("%d",&net[j+3][k+3]);
	
      /*
      for(j=0;j<5;j++)
	{
	  for(k=0;k<5;k++)
	    printf("%d",net[j+3][k+3]);
	  printf("\n");
	}
      */
      ret=solve();
      printf("%s\n",ret?"true":"false");
    }
  return(0);
}