#include <iostream>
#include <cmath>
using namespace std;
bool ima(long long x, long long a[], int n){
    for(int i=0; i<n; i++){
        if(a[i]==x)
            return true;
    }
    return false;
}
int main()
{
    int t, n, m;
    cin>>t;
    int rez[t];
    for(int i=0; i<t; i++){
        rez[i]=1;
        cin>>n>>m;
        long long a[n], b[m];
        long long ma=0;
        long long minn=1000000000000000001;
        for(int j=0; j<n; j++){
            cin>>a[j];
            if(a[j]>ma)
                ma=a[j];
            if(a[j]<minn)
                minn=a[j];
        }
        for(int j=0; j<m; j++){
            cin>>b[j];
            if(b[j]>ma)
                ma=b[j];
        }
        long long mi=1000000000000000001;
        for(int j=0; j<n; j++){
            for(int k=j+1; k<n; k++){
                if(abs(a[j]-a[k])<mi)
                    mi=abs(a[j]-a[k]);
            }
        }
        long long br=minn;
        while(br<=ma){
            if(ima(br, b, m)){
                rez[i]=0;
                break;
            }
            br+=mi;
        }
        br=minn;
        while(br>0){
            if(ima(br, b, m)){
                rez[i]=0;
                break;
            }
            br-=mi;
        }
    }
    for(int i=0; i<t; i++){
        cout<<rez[i]<<"\n";
    }
    return 0;
}