#include<iostream>
#include<cmath>
using namespace std;

int nzd (int a,int b)
{
    if (b==0)
        return a;
    a=a%b;
    return nzd(b,a);
}

int main()
{
    int T,x,y,prviA,f;
    cin>>T;
    int r[T];
    int k,p;
    for(int i=0; i<T; i++)
    {
        r[i]=1;
        k=0;
        p=0;
        cin>>x>>y;
        cin>>prviA;
        for(int j=1; j<x; j++)
        {
            cin>>f;
            if(k==0)
                k=abs(f-prviA);
            else
            {
                k=nzd(k,abs(f-prviA));
            }
        }
        for(int l=0;l<y;l++){
            cin>>f;
            if(p==0)
                p=abs(f-prviA);
            else
            {
               p=nzd(p,abs(f-prviA));
            }
            if(p==k)
                r[i]=0;
        }
    }
    for(int i=0;i<T;i++)
        cout<<r[i]<<endl;
    return 0;

}