#include <iostream>

using namespace std;

long long nzd2(long long a,long long b)
{
    if(a!=0)
        return nzd2(b%a,a);
    else
        return b;
}

long long nzdniza(long long a[],int n)
{
    long long nzd=a[0];
    for(int i=1;i<n;i++)
    {
        nzd= nzd2(a[i],nzd);
        if(nzd==1)
            return nzd;
    }
    return nzd;
}

int main()
{
    int t,n,m,d,ind=1;
    cin>>t;
    for(int br=0;br<t;br++)
    {
        cin>>n>>m;
        long long a[n];
        long long b[m];
        for(int i=0;i<n;i++)
            cin>>a[i];
        for(int i=0;i<m;i++)
            cin>>b[i];
        long long arazl[n-1];
        for(int i=0;i<n-1;i++)
            arazl[i]=a[i+1]-a[i];
        d=nzdniza(arazl,n-1);
        for(int i=0;i<m;i++)
            if((b[i]-a[0])%d==0)
                ind=0;
        cout<<ind<<endl;
        ind=1;
    }
}