//socijalnih 10
#include <bits/stdc++.h>
using namespace std;
int T;

bool nacinesto();
int main() {
    cin >> T;
    int t[T];
    for (int i=1; i<=T; i++) {
        t[i]=nacinesto();

    }

    for (int i=1; i<=T; i++) {
        cout << t[i] <<endl;
    }

    return 0;
}

bool nacinesto() {
    int N, M, A, B;
    int c=0;
    bool q=1;
    //cout << "uneti N i M";
    cin >> N >> M;
    int a[N];
    //cout << "uneti A";
    for (int i=1; i<=N; i++) {
        cin >> A;
        a[i]=A;
        }

    if (a[1]>a[2]) swap(a[1], a[2]);

    int x=a[2]-a[1];
    int ostatak=a[2]%x;

    //cout << "uneti B";
    for (int i=1; i<=M; i++) {
        cin >> B;

        if ((B-ostatak)%x==0) {
            q=0;
        }
    }
    return q;
}