#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;

int main()
{
    int t,n, m,i,j,k;
    long long mini,d,c,o;
    cin>>t;
    int x[t];
    vector <long long>  a,b;
    for (k=0; k<t; k++)
    {
        cin>>n>>m;
        for (i=0; i<n; i++)
        {
            cin>>c;
            a.push_back(c);
        }
        for(j=0; j<m; j++)
            {
            cin>>c;
            b.push_back(c);
            }
        sort(a.begin(),a.end());
        sort(b.begin(),b.end());
        mini=a[1]-a[0];
        for (i=1; i<n-1; i++)
            if (mini>(a[i+1]-a[i]))
                mini=a[i+1]-a[i];
        d=mini;
        while (d>=1)
        {
            x[k]=1;
            o=a[0]%d;
            for(i=0; i<n; i++)
            {
                if ((a[i]%d)!=o )
                {
                    x[k]=0;
                    break;
                }
            }
            if (x[k]==1)
                for (j=0; j<m; j++)
                {
                    if ((b[j]%d)==o)
                    {
                        x[k]=0;
                        break;
                    }
                }
            if (x[k]==1)
                break;
            else
                d--;
        }
        a.clear();
        b.clear();
        }
        for (k=0; k<t; k++)
    cout<<x[k]<<endl;
    return 0;
}