#include <bits/stdc++.h>


using namespace std;

int nzd(long long int a,long long int b)
{
    if (b==0) return a;
    a=a%b;
    return nzd(b,a);
}
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);

    int T,N,M;
    long long int x,y, duzina,min1,min2,razlika;
    long long int max=1000000000000000000;
    long long int niz[150000];
    int konacni[5]={1,1,1,1,1};
    cin>>T;

    for(int i=0;i<T;i++)
    {
        min1=min2=max;
        cin>>N>>M;

        for(int k=0;k<N;k++)
            {
                cin>>x; niz[k]=x;
                if(x<min1) {min2=min1; min1=x;}
                else if(x<min2 && x!=min1) min2=x;

            }
        int r=nzd(min1,min2); if(r==1) razlika=min2-min1;
        else razlika=r;


        for(int j=0;j<N-1;j++)
            if(abs(niz[j]-niz[j+1])%razlika!=0) konacni[i]=0;

        for(int j=0;j<M;j++)
        {cin>>x; if((x%razlika)==(niz[0]%razlika)) konacni[i]=0;}


    }


    for(int j=0;j<T;j++) cout<<konacni[j]<<"\n";


    return 0;
}