#include<bits/stdc++.h>
#include <iostream>
using namespace std;
int partition(int *a,int start,int end)
{
    int pivot=a[end];  
    int P_index=start;
    int i,t; 
    for(i=start;i<end;i++)
    {
    	if(a[i]<=pivot)
        {
            t=a[i];
            a[i]=a[P_index];
            a[P_index]=t;
            P_index++;
        }
     }
      t=a[end];
      a[end]=a[P_index];
      a[P_index]=t;
     return P_index;
 }
 void Quicksort(int *a,int start,int end)
 {
    if(start<end)
    {
         int P_index=partition(a,start,end);
             Quicksort(a,start,P_index-1);
             Quicksort(a,P_index+1,end);
    }
}
int main(){
    int n,g,m,t[n];
    int p[g],l[m];
bool k;
	long min=LONG_MAX;
	for(int i=0;i<n;i++){
		 cin>>g;
		 cin>>m;
		 
		for(int j=0;j<g+m;j++)
		if(j<g){
			
			cin>>p[j];
		}else{
			cin>>l[j-g];
		}
		
	
	Quicksort(p,0,g-1);
	Quicksort(l,0,m-1);
	
for(int j=0; j<g+m;j++){
	if(j<g){
	if(p[j]<p[j+1]<min)
	min=p[j]-p[j+1];
	
	}else {
		if((l[j-g]-p[0]-min)%min==0)k=true;
	    else  {k=false;break;}
	}
	
}
if(k==true)t[i]=0;
else t[i]=1;
 
}
for(int i=0;i<n;i++)cout<<t[i];
}