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

using namespace std;

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

    if (a == b)
        return a;

    if (a > b)
        return nzd(a-b, b);
    return nzd(a, b-a);
}

int main()
{
    int t;
    cin>>t;
    int ans[t];
    for(int i =0; i<t; ++i)
    {
        long long n,m;
        ans[i]=1;
        cin>>n>>m;
        long long a[n], b[m], ar[n-1], br[m-1],minn,M,moda,modb;

        for(int l=0; l<n; ++l)
            cin>>a[l];

        for(int l=0; l<m; ++l)
            cin>>b[l];

        for(int l=1; l<n; ++l)
        {
            ar[l-1]=abs(a[l]-a[l-1]);
            if(l==1)
                minn=ar[l-1];
            else
                minn=min(minn, ar[l-1]);
        }

        for(int l=1; l<m; ++l)
        {
            br[l-1]=abs(b[l]-b[l-1]);
            if(br[l-1]%minn==0)
            {
                ans[i]=0;
                break;
            }
        }
        if(ans[i]==0)
            continue;

        M=minn;
        for(int l=0; l<n-1; ++l)
        {
            if(ar[l]%minn!=0)
            {

                M=nzd(M,ar[l]);

                if(M!=1)
                {
                    for(int j=0; j<m-1; ++j)
                    {
                        if(br[j]%M==0)
                        {
                            ans[i]=0;
                            break;
                        }
                    }
                    minn=M;

                }
                else
                {
                    ans[i]=0;
                    break;
                }
            }
        }

        if(ans[i]==0)
            continue;

        moda=a[0]%minn;
        modb=b[0]%minn;
        if(moda==modb)
        {
            ans[i]=0;
            continue;
        }
        for(int l=1; l<max(m,n);++l){
            if(l<n)
            {
               if(moda!=a[l]%minn)
                {
                ans[i]=0;
                break;
                }
            }
            if(l<m)
            {
                modb=b[l]%minn;
                if(moda==modb)
                {
                    ans[i]=0;
                    break;
                }
            }
        }
    }
    for(int i=0; i<t; ++i)
        cout<<ans[i]<<endl;

    return 0;
}