#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
long long nzt(int a,int b)
{
    if(b==0)
    return a;
    else return nzt(b,a%b);
    }
int main()
{
        ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
    long long nzd=0,k,a,b,c,p,d=0,niz[100000],o,l=0,i;
    cin>>a;
    for(o=0;o<a;o++)
    {
    cin>>b>>k;
    for(i=0;i<b;i++)
    {
    cin>>niz[i];
                    }
              sort(niz,niz+b);
              nzd=niz[1]-niz[0];
    for(i=2;i<b;i++)
    {
     nzd=nzt(max(niz[i]-niz[i-1],nzd),min(niz[i]-niz[i-1],nzd));       
                    }
               for(i=0;i<k;i++)
               {
                cin>>p;
                if(p%nzd==niz[0]%nzd)
                {l=1;}              
                               }   
                               if(l==1)cout<<0<<endl;else cout<<1<<endl;  
                               l=0;
                    }
    
    }