#include <bits/stdc++.h>
using namespace std;

long long a[210];
char s[210];

long long bit[70];

void insert(long long x) {
	for (int i = 0; i < 60; i++) {
		if (x >> i & 1) {
			if (!bit[i]) {
				bit[i] = x;
				return ;
			}
			x ^= bit[i];
		}
	}
}

bool check(long long x) {
	for (int i = 0; i < 60; i++) {
		if (x >> i & 1) {
			x ^= bit[i];
		}
	}
	return x == 0;
}

int main () {
	int T; scanf("%d", &T);
	while (T--) {
		int n; scanf("%d", &n);
		for (int i = 0; i < n; i++) {
			scanf("%lld", &a[i]);
		}
		scanf("%s", s);
		memset(bit, 0, sizeof(bit));
		for (int i = n - 1; i >= 0; i--) {
			if (s[i] == '0') insert(a[i]);
			else {
				if (!check(a[i])) {
					printf("1\n");
					goto END;
				}
			}
		}
		printf("0\n");
		END:;
	}
	return 0;
}
