#include <iostream>
#include <math.h>
#include <string.h>
using namespace std;

long long nzd(long long a, long long b)
    {
        while(a!=b)
        {
            if(a>b)
            {
                a-=b;
            }else b-=a;
        }
        return a;
    }

int main(int argc, char** argv) 
    {
    int t;
    long long n_z_d;
    long long n,m;
    long long a1,a2,a3;
    long long b;
    cin>>t;
    for(int i=0;i<t;i++)
    {
        int f=1;
        cin>>n>>m;
        cin>>a1>>a2;
        n_z_d=nzd(a1,a2);
        for(int i=2;i<n;i++)
        {
            cin>>a3;
            n_z_d=nzd(n_z_d,a3);
        }
        for(int i=0;i<m && f==1;i++)
        {
            cin>>b;
            if(abs(a1-b)%n_z_d==0)
            {
                f=0;    
            }
        }
        cout<<f<<endl;
    }
    return 0;
}