#include <bits/stdc++.h>

using namespace std;

long long int nzd (long long int a,long long int b)
{
    long long int c;

    while (b!=0)
    {
        c=a%b;
        a=b;
        b=c;
    }
    return a;
}


int main()
{
    long long int t, n,m,i,j, moze,x;

    cin>>t;

    for (i=0; i<t; i++)
    {
        moze=1;
        cin>>n;
        cin>>m;

        long long int da[n], ne[m];

        for (j=0; j<n; j++)
        {
            cin>>da[j];
        }

        for (j=0; j<m; j++)
        {
            cin>>ne[j];
        }

        sort(da,da+n);
        sort(ne, ne+m);


        long long int razlika=da[1]-da[0];
        if (n==2)
        {
            x=razlika;
        }
        else
        {
            x=nzd(razlika,da[2]-da[1]);
            for (j=3; j<n; j++)
            {
                x=nzd(x,da[j]-da[j-1]);
                if(x==1)
                {
                    break;
                }
            }
        }
        //cout<<x<<endl;

        for (j=0; j<m; j++)
        {
            if((abs(ne[j]-da[0])%x==0))
            {
                moze=0;
                break;
            }
        }

       cout<<moze<<endl;

    }
    return 0;
}