import java.util.*;

public class Main {

	// ?????????9???????????§??????????????°???????????£?????¨??????????????§????????????????????°??¨????????????
	//???check????????????????§?
	final static int column = 9;

	public static void main(String args[]) {
		StringBuilder sb = new StringBuilder();
		Scanner scan = new Scanner(System.in);

		int number[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };
		String color[] = { "0", "0", "0", "0", "0", "0", "0", "0", "0" };

		// ???????????????????´?????????????
		int n = scan.nextInt();

		// n??????????????????
		for (int count = 0; count < n; count++) {
			// ?????????????????????????´???????
			// 9???????????????????´?
			for (int count1 = 0; count1 < column; count1++) {
				number[count1] = scan.nextInt();
			}
			// 9????????????????´?
			for (int count1 = 0; count1 < column; count1++) {
				color[count1] = scan.next();
			}

			// ???????????????????????????????????????????????°?????°?????£??????true??§?¬?????????????
			color_count c = new color_count();

			// ?????????????????? store???????????????????????¨??????color_count??????????????????
			for (int count1 = 0; count1 < column; count1++) {
				c.count(color[count1]);
			}

			// ???????????? ??????????????°??§????????°true???
			boolean flg = c.color_result();

			// ???????????????true?????´????????°???????????? / false?????´??????0?????????
			if (flg) {
				check ck = new check();
				
				//R(??¬??????????????????
				for(int count1=0;count1<column;count1++){
					if(color[count1].equals("R")){
						ck.number_store(number[count1]);
					}
				}
				// ???????????????
				ck.number_sort();

				// ??°???????????§????????????
				ck.number_check();
				
				//???????????????
				boolean flg1 = ck.result();
				
				//G(??°?????????????????????
				for(int count1=0;count1<column;count1++){
					if(color[count1].equals("G")){
						ck.number_store(number[count1]);
					}
				}
				// ???????????????
				ck.number_sort();

				// ??°???????????§????????????
				ck.number_check();
				
				//???????????????
				boolean flg2 = ck.result();
				
				//B(?????????????????????
				for(int count1=0;count1<column;count1++){
					if(color[count1].equals("B")){
						ck.number_store(number[count1]);
					}
				}
				// ???????????????
				ck.number_sort();

				// ??°???????????§????????????
				ck.number_check();
				
				//???????????????
				boolean flg3 = ck.result();

				// ??????
				if (flg1 & flg2 & flg3) {
					sb.append("1");
					sb.append("\n");
				} else {
					sb.append("0");
					sb.append("\n");
				}

			} else {
				sb.append("0");
				sb.append("\n");
			}
		}
		// ????????????????????????
		sb.deleteCharAt(sb.length() - 1);
		System.out.println(new String(sb));

	}
}

// --------------------color_cout?????????------------------------------------

// ????????°?????°???????????????
class color_count {

	int r = 0;
	int b = 0;
	int g = 0;
	
	//r b g??????????????????????????????????????????
	void count(String color) {
		if (color.equals("R")) {
			r++;
		} else if (color.equals("B")) {
			b++;
		} else if (color.equals("G")) {
			g++;
		}
		// System.out.println("r=" + r + " b=" + b + " g=" + g);
	}

	// color?????\??????
	boolean color_result() {
		// ????????????????????????????????°??§????????¨???true?????????
		return (r % 3 == 0) & (b % 3 == 0) & (g % 3 == 0);
	}

}

// --------------------check?????????------------------------------------

class check {

	// ?????????9???????????§??????????????°???????????£?????¨??????????????§????????????????????°??¨????????????
	final static int column = 9;

	List<Integer> number_list = new ArrayList<Integer>();

	int[] number = new int[column];
	
	int x = 0;
	// int number[] = {0,0,0,0,0,0,0,0,0};

	// ????????°?????????????????¨???????????? ???????????????????????§????´?
	// ????????????num[]??????????????????0????????£??????true??¨??????

	int[] num = new int[column];
	// int num[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0 };

	// ??°????????\??????
	void number_store(int number) {
		number_list.add(number);
		num[number - 1] = num[number - 1] + 1;
		x++;
	}

	// ??°??????????????????????????????????´?
	void number_sort() {
		Collections.sort(number_list);
		for (int count = 0; count < x; count++) {
			number[count] = number_list.get(count);
		}
		//?????????????????????
		number_list.clear();
		x = 0;
	}

	void number_check() {
		// ????????°??????????????\???????????´???????????????
		// ?????§??§3?????????????????????
		for (int count = 0; count < column; count++) {
			// num[count]??????????????\????????¨??????????????????
			if (num[count] >= 3) {
				num[count] = num[count] - 3;
			}
		}

		// ??£???????????£?????????????¢?????????? ?????§????????????????????????
		// 7????????????????????? (1-2-3)(2-3-4)?????????????¢????????????????
		// ????????§????????£????????????????????????????????????????????????
		for (int count2 = 0; count2 < 3; count2++) {
			for (int count = 0; count < 7; count++) {
				// ???????????°????????£???????¢???????true?????´??????????????????-1??????
				if ((num[count] >= 1) & (num[count + 1] >= 1) & (num[count + 2] >= 1)) {
					num[count]--;
					num[count + 1]--;
					num[count + 2]--;
					break;
				}
			}
		}

	}

	// ?????????true ??? false??§??????
	boolean result() {
		// num[]????????????????????¨????????§????????°true?????????
		return num[0] == 0 & num[1] == 0 & num[2] == 0 & num[3] == 0 & num[4] == 0 & num[5] == 0 & num[6] == 0
				& num[7] == 0 & num[8] == 0;
	}

}

Measured memory_bytes: 28384