#include<bits/stdc++.h>

using namespace std;

int nzd(int a, int b)
{
    if(b==0) return a;
    a = a%b;
    return nzd(b, a);
}
int main()
{
    int t;
    cin>>t;
    int c[t] = {1};
    for(int i=0; i<t; i++)
    {
        c[i] = 1;
        int n, m;
        cin>>n>>m;
        long long a[n];
        long long b[m];
        for(int j=0; j<n; j++) cin>>a[j];
        for(int j=0; j<m; j++) cin>>b[j];
        long long x=a[0], y=0;
        for(int j=1; j<n; j++)
        {
            if(j==1) x = abs(a[0] - a[j]);
            else {y=abs(a[0] - a[j]); x = nzd(x, y);}
        }
        for(int j=0; j<m; j++)
        {
            if((max(b[j], a[0]) - min(b[j], a[0])) % x==0) {c[i] = 0; break;}
        }
    }
    for(int i=0; i<t; i++) cout <<c[i]<< endl;
    return 0;
}