#include <stdio.h>

void test() {
   int i,n,x;
   long long a[200],mx,k;
   char s[201];

   scanf("%d",&n);
   for (i=0;i<n;i++) {
      scanf("%lld",&a[i]);
      if (mx<a[i]) mx=a[i];
   }
   scanf("%s",s);
   k=1;
   while (k<=mx) {
      x=0;
      for (i=0;i<n;i++)
         if (s[i]=='0') {
            if (x==1 && (a[i]/k)%2==1) x=0;
         } else {
            if (x==0 && (a[i]/k)%2==1) x=1;
         }
      if (x==1) {
         puts("1");
         return;
      }
      k*=2;
   }
   puts("0");
}

int main(){
   int i,t;

   scanf("%d",&t);
   for (i=0;i<t;i++) test();
   return 0;
}
