#include<iostream>
using namespace std;
long long a[10000000],b[10000000],c[10000000],Ai,Bi,prAi,malinzd,velikinzd,tacnost =1;
int NZD (int a,int b)
{
    if (b==0) return a; 
    a=a%b;
    return NZD(b,a);
}

int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cout.tie(NULL);
	long long T,N,M,zbir,mini;
	cin>>T;
	for(int i=0;i<T;i++){
		cin>>N>>M;
		for(int j=0;j<N;j++){
			cin>>Ai;
			a[j+(N*i)]=Ai;
			if(j==0){
				mini=Ai;
			}
			else if(mini>Ai)mini=Ai;
		}
			for(int j=0;j<N;j++){
			
			if(j!=0){
			
				if(a[j+(N*i)]-mini==0){
					malinzd=malinzd;
				}
				else if(a[j+(N*i)-1]-mini==0){
					malinzd=a[j+(N*i)]-mini;
				}
				else{
					malinzd=NZD(a[j+(N*i)]-mini,malinzd);
				}
				
			}
			else{
				malinzd=a[j+(N*i)-mini];
			}
			
		}
		
		for(int j=0;j<M;j++){
			cin>>Bi;
			if((Bi-mini)%malinzd==0){
				tacnost = 0;
			}
			}
			if(tacnost ==1)cout<<1<<endl;
			else cout<<0<<endl;
			tacnost = 1;
	}
	return 0;
}