#include<iostream>

using namespace std;

void sortiranjeElemenataOpadajuci(int , long long int []);
int daLiPostojiX(void);

int main(void)
{
    int t;
    cin>>t;

    int niz[t];

    for(int i=0; i<t; ++i)
        niz[i]=daLiPostojiX();

    for(int i=0; i<t; ++i)
        cout<<niz[i]<<endl;


    return 0;
}

void sortiranjeElemenataOpadajuci(int n1, long long int An1[])
{
    for(int i=0; i<n1-1; i++)
        for(int j=i+1; j<n1; ++j)
            if(An1[i]<An1[j]){
                long long int pomoc = An1[i];
                An1[i] = An1[j];
                An1[j] = pomoc;
            }

    return;
}

int daLiPostojiX(void)
{
    int n1, m1;
    cin>>n1;
    cin>>m1;
    long long int An1[n1], Bn1[m1];
    for(int i=0; i<n1; ++i)
        cin>>An1[i];
    for(int i=0; i<m1; ++i)
        cin>>Bn1[i];

    sortiranjeElemenataOpadajuci(n1, An1);
    long long int x=An1[0]-An1[1];
    for(int i=0; i<n1-1; ++i)
        if(x>An1[i]-An1[i+1])
            x=An1[i]-An1[i+1];

    int p;

    for(int i=0; i<m1-1; ++i){
        if((Bn1[i]-An1[n1-1])%x==0)
            p=0;
        else
            p=1;
    }

    return p;
}