#include <stdio.h>
#include <math.h>

int t,p[10];
long long int n,m,a[100000],b[100000],rez;


long long int nzd(long long int a1, long long int b1){
    long long int r=a1%b1;
    if(r==0){
        return b1;
    }
    return nzd(b1,r);
}

int main()
{
    scanf("%d",&t);
    a[0]=0;
    for(int i=0;i<t;i++){
        scanf("%lld %lld",&n,&m);
        for(long long int j=1;j<=n;j++){
            scanf("%lld",&a[j]);
        }
        for(long long int j=n;j>=1;j--){
            a[j]=fabs(a[j]-a[j-1]);
        }
        for(long long int j=0;j<m;j++){
            scanf("%lld",&b[j]);
            b[j]=fabs(b[j]-a[1]);
        }
        for(long long int j=3;j<=n;j++){
            a[j]=((a[j]>a[j-1])?nzd(a[j],a[j-1]):nzd(a[j-1],a[j]));
        }
        for(long long int j=1;j<m;j++){
            b[j]=((b[j]>b[j-1])?nzd(b[j],b[j-1]):nzd(b[j-1],b[j]));
        }
        rez=a[n]/((a[n]>b[m-1])?nzd(a[n],b[m-1]):nzd(b[m-1],a[n]));
        rez==1?p[i]=0:p[i]=1;
    }
    for(int i=0;i<t;i++){
        printf("%d\n",p[i]);
    }
    return 0;
}