#include <bits/stdc++.h>

using namespace std;

long long gcdNiza (vector<long long>& brojevi){
    long long result;
    result = brojevi[0];
    for(long long i = 1 ; i < brojevi.size() ; i++){
        result = __gcd(result, brojevi[i]);
        if(result == 1) {
            return 1;
        }
    }
    return result;
}

int main()
{
    long long t, n, m;
    cin >> t;
    for(long long i = 0 ; i < t ; i++){
        scanf("%lld", &n);
        scanf("%lld", &m);
        vector<long long> godine;
        vector<long long> pomocni;
        for(long long j = 0 ; j < n ; j++){
            long long godina;
            scanf("%lld", &godina);
            pomocni.push_back(godina);
            if(j != 0) godine.push_back(abs(pomocni[j] - pomocni[j - 1]));
        }
        long long broj = gcdNiza(godine);
        long long brojac = pomocni[0] % broj;
        bool resenje = true;
        for(long long p = 0 ; p < m ; p++){
            long long pomocna;
            scanf("%lld", &pomocna);
                if(pomocna % broj  == brojac){
                    resenje = false;
                }
        }
        if(resenje == false) printf("%d\n", 0);
        else printf("%d\n", 1);
    }
    return 0;
}