#include <iostream>
#include <math.h>
#include <string.h>
#include <algorithm>  
using namespace std;
 
int main(int argc, char** argv) 
    {
    int t;
    long long nzd;
    long long n,m;
    long long a1,a2,a3,a4;
    long long b;
    cin>>t;
    int ispis[t];
    for(int i=0;i<t;i++)
    {
        int f=1;
        cin>>n>>m;
        cin>>a1>>a2;
        if(n>2)
        {
            cin>>a3;
            nzd=__gcd(abs(a2-a1),abs(a2-a3));
            for(int i=3;i<n;i++)
            {
                cin>>a4;
                nzd=__gcd(nzd,abs(a3-a4));
            }
        }else
        {
            nzd=abs(a2-a1);
        }
        for(int i=0;i<m && f==1;i++)
        {
            cin>>b;
            if(abs(a1-b)%nzd==0)
            {
                f=0;    
            }
        }
        ispis[i]=f;
    }
    for(int i=0;i<t;i++)
    {
        cout<<ispis[i]<<endl;
    }
    return 0;
}