#include <iostream>

using namespace std;

int main()
{
    int t;
    scanf ("%d",&t);
    int g[t];
    for (int i=0;i<t;i++){
        int n,m,d=-1,s=0;
        scanf("%d %d",&n,&m);
        long long int a[n],b[m],raz;
        for (int j=0;j<n;j++){
            cin>>a[j];
        }
        for (int j=0;j<n-1;j++){
            for (int k=j+1;k<n;k++){
                if (a[j]>a[k]){
                    unsigned long long int temp=a[j];
                    a[j]=a[k];
                    a[k]=temp;
                }
            }
        }
        raz=a[1]-a[0];
        for (int j=1;j<n-1;j++){
            raz=min(raz,a[j+1]-a[j]);
        }
        for (int j=0;j<n-1;j++){
            if ((a[j+1]-a[j])%raz!=0){
                g[i]=0;
                d=i;
                s=1;
                break;
            }
        }
        for (int j=0;j<m;j++){
            cin>>b[j];
        }
        if (i!=d){
            for (int j=0;j<m;j++){
                if ((a[0]-b[j])%raz==0){
                    g[i]=0;
                    s=1;
                    break;
                }
           }
        }
        if (s==0){
            g[i]=1;
        }
    }
    for (int i=0;i<t;i++){
        printf("%d \n",g[i]);
    }
}