#include <bits/stdc++.h>

using namespace std;

bool raz(long long a[],int n, long long b[], int m){
    sort (a,a+n,greater<int>());
    long long rz[n-1];
    rz[0]=a[0]-a[1];
    long long rzmin=rz[0];
    for(int i=1;i<n-1;i++){
        rz[i]=a[i]-a[i+1];
        if(rz[i]<rz[i-1]) rzmin=rz[i];
    }
    for(int i=0;i<n-1;i++){
        if (rz[i]%rzmin!=0) return true;
    }
    for(int i=0;i<m;i++){
        if((abs(a[0]-b[i]))%rzmin==0) return true;
    }
    return false;

}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t;
    cin>>t;
    int x[t];
    for(int i=0;i<t;i++){
        int n,m;
        cin>>n>>m;
        long long a[n],b[m];
        for(int j=0;j<n;j++) cin>>a[j];
        for(int k=0;k<m;k++) cin>>b[k];
        if (raz(a,n,b,m)==true) x[i]=0;
        else x[i]=1;
    }
    for(int i=0;i<t;i++)
        printf("%i\n",x[i]);
    return 0;
}