#include <iostream>
#include <algorithm>
#include <vector>

using namespace std;

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

int main()
{
    int T;
    long N, M;
    long long X, a;
    cin>>T;

    vector<int> O(T, 1);
    vector<long long> A[5], B[5];

    for(int i=0; i<T; i++)
    {
        cin>>N>>M;

        for(int j=0; j<N; j++)
        {
            cin>>a;
            A[i].push_back(a);
        }
        
         for(int j=0; j<M; j++)
        {
            cin>>a;
            B[i].push_back(a);
        }
    }

    for(int i=0; i<T; i++)
    {
        sort(A[i].begin(), A[i].end());

        X=A[i][1]-A[i][0];
        for(int j=2; j<N; j++)
        {
            X=eu(X, A[i][j]-A[i][j-1]);
            if(X==1)
            {
                O[i]=0;
                break;
            }
        }

        if(X!=1) 
        for(int j=0; j<N; j++)
        {
            if((B[i][j]-A[i][0])%X==0)
            {
                O[i]=0;
                break;
            }
        }
    }

    for(int i=0; i<T; i++)
        cout<<O[i]<<"/n";
    return 0;
}