#include <iostream>
#include <cmath>
using namespace std;
int gcd(int a, int b)
{
    if (a==0) return b;
    if (b==0) return a;
    if (a==b) return a;
    if (a>b) return gcd(a-b, b);
    return gcd(a, b-a);
}
int main(){
    bool r[5];
    int t, i;
    long n, m, j;
    long long a[75000], b[75000], d;
    cin>>t;
    for(i=0; i<t; i++){
        r[i]=1;
        cin>>n>>m;
        for(j=0; j<n; j++){
            cin>>a[j];
        }
        for(j=0; j<m; j++){
            cin>>b[j];
        }
        d=abs(a[0]-a[1]);
        for(j=1; j<n-1; j++){
            d=gcd(d, abs(a[i]-a[i+1]));
        }
        for(j=0; j<m; j++) if((b[j]-a[0])%d==0) r[i]=0;
    }
    for(i=0; i<t; i++) cout<<r[i]<<endl;
    return 0;
}