#include <bits/stdc++.h>
#define FOR(n) for(int i = 0; i < n; i++)

#define ll long long
const int mxn = 1e5;
using namespace std;

ll t,n,m,a[mxn],b[mxn];

ll solve(){
    cin >> n >> m;
    for(int i = 0; i < n; i++) cin >> a[i];
    for(int i = 0; i < m; i++) cin >> b[i];
    sort(a,a+n);
    ll mn = a[1]-a[0];
    for(int i = 1; i < n - 1; i++) mn = min(mn, a[i+1]-a[i]);

    for(int i = 1; i*i <= mn; i++){
        if(mn%i==0){
            /// i mozda radi za a
            bool radi = 1;
            for(int j = 0; j < n - 1; j++) if( (a[j+1]-a[j]) % i != 0) radi = 0;
            if(radi){
                sort(b,b+m);
                for(int j = 0; j < m;j++) if( (a[0] - b[j]) % i == 0 ) radi = 0;
            }
            if(radi) return 1;
        }
    }
    if(mn%mn==0){
            /// i mozda radi za a
            bool radi = 1;
            for(int j = 0; j < n - 1; j++) if( (a[j+1]-a[j]) % mn != 0) radi = 0;
            if(radi){
                sort(b,b+m);
                for(int j = 0; j < m;j++) if( (a[0] - b[j]) % mn == 0 ) radi = 0;
            }
            if(radi) return 1;
        }
    return 0;
}


int main(){

    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);

    cin >> t;
    while(t--)
    {
        cout << solve() << "\n";
    }

}