#include <iostream>

using namespace std;

int nzd (long long x,long long y)
{
    if (y==0) return x;
    x=x%y;
    return nzd(y,x);
}

bool pretraga()
{
    long long n,m,s,i,p;
    cin >> n >> m;
    long long a[n],b;
    for (i=0;i<n;i++)
    {
        cin >> a[i];
        if (i==1)
        {
            s=a[0]-a[1];
            if (s<0)
                s*=-1;
        }
        else if (i>=2 && s!=1)
        {
            p=a[i-1]-a[i];
            if (p<0)
                p*=-1;
            s=nzd(s,p);
        }
    }
    bool ok=true;
    for (i=0;i<m;i++)
    {
        cin >> b;
        if (ok==true)
        ok=((a[0]-b)%s!=0);
    }
    return ok;
}

int main()
{
    int t,i;
    cin >> t;
    bool a[t];
    for (i=0;i<t;i++)
    {
        a[i]=pretraga();
    }
    for (i=0;i<t;i++)
    {
        cout << a[i] << endl;
    }
    return 0;
}