#include <iostream>
using namespace std;
int partition(long long *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(long long *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];
     cin>>n;

  
	bool k;
	
	
	for(int i=0;i<n;i++){
	    //  cout<<"KOJ KURAC";   
		 cin>>g;
		 cin>>m;
     long long min=LONG_MAX;
	 long long p[g],l[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-1){
	if(p[j+1]-p[j]<min)
	min=p[j+1]-p[j];
//	cout<<" "<<p[j+1]<<" "<<p[j]<<" ";
	
	}else {
		if((l[j-g]-p[0]-min)%min!=0){k=true;}
	    else  {k=false;break;}
	}
	
}
if(k==true)t[i]=1;
else t[i]=0;
k=false;
 //cout<<t[i]<<endl;
}
for(int i=0;i<n;i++)cout<<t[i]<<endl;

}