#include <iostream>
#include <bits/stdc++.h>

using namespace std;
long long gcd(long long a, long long b)
{
    long long R;
//    if(a<b)
//    {
//        R=a;
//        a=b;
//        b=R;
//    }
    while(a%b>0)
    {
        R=a%b;
        a=b;
        b=R;
    }
    return b;
}
int main()
{
    int p1=1;
    long long d;
    long long r;
    int T;
    int N,M;
    cin >> T;
    int resenja[T];
    for(int j=0;j<T;j++)
    {
        p1=1;
       cin >> N >> M;
        long long b[M];
        long long a[N];
        long long p[N];
    for(int i=0;i<N;i++)
    {
        cin >> a[i];
    }

    for(int i=0;i<M;i++)
    {
        cin >> b[i];
    }
    sort(a,a+N);
    for(int i=1;i<N;i++)
    {
        p[i]=a[i]-a[i-1];
    }
    if(N==2)
    d=p[1];
    else
    d=gcd(p[1],p[2]);
    //cout << d << endl;
    for(int i=3;i<N;i++)
    {
        d=gcd(d,p[i]);
        //cout << d << endl;
    }
    r=a[0]%d;
    //cout << r << endl;
    for(int i=0;i<M;i++)
    {
        if(b[i]%d==r)
            p1=0;
        //cout << p1 << endl;
    }
    resenja[j]=p1;
    }
    for(int i=0;i<T;i++)
    {
        cout << resenja[i] << endl;
    }
    return 0;
}