#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;


int nzd(int a, int b) 
{ 
    if (a == 0) 
        return b; 
    return nzd(b % a, a); 
}

    int niz1[a];
    int i=0;
    for(i=0;i<a;i++)
    {
        cin>>niz1[a];
    }
    return niz1;

int main()
{
int t;
cin>>t;
int i=0, niz, broj;
int nul[t];
int k=0, b=0;
int r=0;
while(r<t)
{
  int a, b;
  cin>>a>>b;
  int niz1[a];
  int niz2[b];
    
  for(i=0;i<a;i++)
    {
        cin>>niz1[a];
    }
  for(i=0;i<b;i++)
    {
        cin>>niz1[b];
    }
  int razlike[a-1];
  int razlike2[b-1];
  int nzd1;
  int drugi=1;
  int p=0;
  for(i=1;i<a;i++)
  {
    razlike[i]=abs(niz1[i]-niz[i-1])
  }
  for(i=1;i<a-1;i++)
  {
    nzd1=nzd(razlike[i],razlike[i-1]);
    if(nzd1<drugi)
    {
       drugi=nzd1;
    }
  }
  for(i=0;i<(b-1);i++)
  {
      razlike2[i]=abs(niz[i]-niz[i-1]);
      if(razlike2(i)%drugi!=0)
      {
          p=1;
      }
  }
if(p=1)
{
    nul[r]=0;
}
else
{
    nul[r]=1
}
r=r+1;
}
for(i=0;i<t;i++)
{
    cout<<nul[i]<<endl;
}
}