#include <bits/stdc++.h>
using namespace std;

long long int gcd(int a, int b)
{
    if (a == 0)
        return b;
    return gcd(b % a, a);
}

long long int findGCD(long long int arr[], int n)
{
    long long int result = arr[0];
    for (int i = 1; i < n; i++)
    {
        result = gcd(arr[i], result);

        if(result == 1)
           return 1;
    }
    return result;
}

int main()
{

    int t, m, n;
    cin >> t;

    for(int j = 0; j < t; j++){
        int p = 1;
        cin >> m >> n;
        long long int a[m], b[n], x = 0;

        for(int i = 0; i < m; i++)
            cin >> a[i];

        x = findGCD(a, m);

        for(int i = 0; i < n; i++)
            cin >> b[i];

        for(int i = 0; i < n && p; i++){
            if(b[i]%x == 0)
                p = 0;
        }
        cout << p << endl;
    }

    return 0;
}