#include <bits/stdc++.h>

using namespace std;
long long a[75007], b[75007];

int solve(int n, int m) {
    long long othr;
    bool valid;
    for (long long i = 1; i * i <= a[1]; i++) {
        valid = true;
        if (a[1] % i == 0) {
            othr = a[1]/i;
            for (int j = 2; j < n; j++) {
                if (a[j] % i != 0) valid = false;
            }
            for (int j = 0; j < m; j++) {
                if (b[j] % i == 0) valid = false;
            }
            if (valid) return true;
            valid = true;
            for (int j = 2; j < n; j++) {
                if (a[j] % othr != 0) valid = false;
            }
            for (int j = 0; j < m; j++) {
                if (b[j] % othr == 0) valid = false;
            }
            if (valid) return true;
        }
    }
    return false;
}

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cerr.tie(nullptr);
    int t;
    cin >> t;
    int x, y;
    long long tmp = -1;
    while (t--) {
        cin >> x >> y;
        for (int i = 0; i < x; i++) {
            cin >> a[i];
            if (tmp == -1)
                tmp = a[0];
            a[i]-=tmp;
        }
        for (int i = 0; i < y; i++) {
            cin >> b[i];
            b[i]-=tmp;
        }
        sort(a, a+x);
        sort(b, b+y);
        cout << solve(x, y) << "\n";
        tmp = -1;
    }
    return 0;
}