#include <stdio.h>
#include <stdlib.h>
#include <math.h>
void quicksort(long long int number[25],long long int first,long long int last){
   long long int i, j, pivot, temp;

   if(first<last){
      pivot=first;
      i=first;
      j=last;

      while(i<j){
         while(number[i]<=number[pivot]&&i<last)
            i++;
         while(number[j]>number[pivot])
            j--;
         if(i<j){
            temp=number[i];
            number[i]=number[j];
            number[j]=temp;
         }
      }

      temp=number[pivot];
      number[pivot]=number[j];
      number[j]=temp;
      quicksort(number,first,j-1);
      quicksort(number,j+1,last);

   }
}
int main(void) {
  int t,i;
  long long int n,m,x,j,k,s,min,g,q;
  scanf("%d",&t);
  int f[t];
  for(i=0;i<t;i++)
    {   s=0;
        scanf("%lld%lld",&n,&m);
         long long int a[n];
         long long int b[m];
        for(j=0;j<n;j++)
          scanf("%lld",&a[j]);
        for(k=0;k<m;k++)
          scanf("%lld",&b[k]);
        quicksort(a,0,n-1);
        quicksort(b,0,n-1);
        min=a[1]-a[0];
        for(j=1;j<n-1;j++)
          { 
            q=a[j+1]-a[j];
            if (q<min)
                 min=q;
          }
        for(g=0;g<n-1;g++)
          if ((a[g]%min)!=a[g+1]%min)
            s++;
        for(k=0;k<m;k++)
         if((b[k]%min)==a[0]%min)
            s++;
        if(s>0)
          f[i]=0;
        if (s==0)
          f[i]=1;
    }
    for(i=0;i<t;i++)
     printf("%d\n",f[i]);
  return 0;
}