#include<iostream>
#include<algorithm>
#include<cmath>
#include<cstdio>

using namespace std;

long long t,n,m,a[100005],b[100005], minA;
bool moze;

int main()
{
    cin>>t;
    while(t--)
    {
        minA = 4e18;
        moze = true;
        cin>>n>>m;
        for(int i=1;i<=n;i++)
        {
            scanf("%lld",&a[i]);
        }
        for(int i=1;i<=m;i++)
        {
            scanf("%lld",&b[i]);
        }
        sort(a+1,a+n+1);
        sort(b+1,b+m+1);

        for(int i=2;i<=n;i++)
        {
            minA = min(minA,a[i]-a[i-1]);
        }
        //cout<<"    "<<minA<<endl;
        for(int i=2;i<=n;i++)
        {
            if((a[i]-a[1]) % minA != 0)
                moze=false;
        }
        if(!moze)
        {
            cout<<0<<endl;
            continue;
        }
        for(int i=1;i<=m;i++)
        {
            if((b[i]-a[1]) % minA == 0)
                moze=false;
        }
        if(!moze)
            cout<<0<<endl;
        else
            cout<<1<<endl;
    }

    return 0;
}