#include <bits/stdc++.h>
#define MAXN 75000

using namespace std;

long long a[MAXN],b[MAXN];

bool uslov(int n,int m,long long del)
{
    long long ost=(a[0])%del;
    for(int i=1;i<n;i++)
        if(a[i]%del!=ost)return false;
    for(int i=0;i<n;i++)
        if(b[i]%del==ost)return false;
    return true;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    int t;
    cin>>t;
    while(t--)
    {
        int n,m;
        cin>>n>>m;
        for(int i=0;i<n;i++)
            cin>>a[i];
        for(int i=0;i<m;i++)
            cin>>b[i];
        sort(a,a+n);
        sort(b,b+m);
        long long minraz=1000000000000000000;
        for(int i=1;i<n;i++)
            if(a[i]-a[i-1]<minraz)minraz=a[i]-a[i-1];
        if(uslov(n,m,minraz))
        {
            cout<<1<<endl;
            continue;
        }
        bool x=false;
        while(minraz>1)
        {
            for(int i=2;i<=1000000000;i++)
            {
                if(minraz%i==0)
                {
                    minraz/=i;
                    break;
                }
            }
            if(uslov(n,m,minraz))
            {
                x=true;
                cout<<1<<endl;
                break;
            }
        }
        if(x)continue;
        if(m>0)cout<<0<<endl;
    }
    return 0;
}