#include<iostream>

using namespace std;

int apsolutna_vrednost(int r){
	if(r<0) return -r;
}

long long a[75000],b[75000],x[75000];

int main(){
	int t,m,n,c=0,jeste[5];
	cin>>t;
	
	for(int i=0;i<t;i++){
		jeste[i]=1;
		cin>>m>>n;
		int z=0;
		for(int j=0;j<m;j++){
			cin>>a[j];
		}
		for(int l=0;l<n;l++){
			cin>>b[l];
		}
		for(int p=1;p<m;p++){
			if(x[p]==0) break;
			x[c]=apsolutna_vrednost(a[1]-a[p]);
			c=c+1;
		}
		x[c+1]=apsolutna_vrednost(a[1]-a[2]);
		int y=x[0];
		for(int f=1;f<y;f++){
			if(x[f]<y)y=x[f];
		}
		for(int g=2;g<y;g++){
			int q=0;
			for(q;q<m;q++){
				 if(x[q]%g!=0) break;
			}
			if(q==m){
				for(int k=0;k<n;k++){
					if(apsolutna_vrednost(b[k]-a[0])%g==0) jeste==0;
				}
			}
			else jeste==0;
			
		}
		cout<<jeste;
		
	}
	return 0;
}