/*
AizuOnline A2101
Title Rummy
*/
#include <stdio.h>
// Select Below
//#include <stdlib.h>
//#include <string.h>
//#include <float.h>
//#include <math.h>
//#include <limits.h>
//Global data section
int T;
int hist[30];
char n[9],c[9];
//
int isAgari1(int nc)
{
  int i;

  if(nc==0)
    return(1);
  for(i=1;i<=29;i++)
    {
      if(hist[i]==3)
	{
	  hist[i]-=3;
	  return(isAgari1(nc-3));
	}
      if(hist[i] && hist[i+1] && hist [i+2])
	{
	  hist[i]--;
	  hist[i+1]--;
	  hist[i+2]--;
	  return(isAgari1(nc-3));
	}
    }
  return(0);
}
int isAgari()
{
  return(isAgari1(9));
}
int c2n(char c)
{
  if(c=='R')
    return(0);
  if(c=='G')
    return(1);
  if(c=='B')
    return(2);
  return(0);
}
main()
{
  int i,j,ret;

  scanf("%d\n",&T);
  for(i=0;i<T;i++)
    {
      for(j=0;j<9;j++)
	scanf("%c ",&(n[j]));
      for(j=0;j<9;j++)
	scanf("%c ",&(c[j]));
      /*
      for(j=0;j<9;j++)
      printf("%d:",c2n(c[j]));
      printf("\n");
      */

      for(j=1;j<=29;j++)
	hist[j]=0;
      for(j=0;j<9;j++)
	{
	  int x=(n[j]-'0')+10*(c2n(c[j]));
	  //printf("%d %d;",x,c2n(c[j]));
	hist[(n[j]-'0')+10*(c2n(c[j]))]++;

	}
      //for(j=1;j<=29;j++)
      // printf("%d:",hist[j]);

      ret=isAgari();
      printf("%d\n",ret);
  }




return(0);
}