#include<bits/stdc++.h>
using namespace std;

long long nzd(long long a, long long b)
{
	if(a==0)
	{
		return b;
	}
	return nzd(b%a ,a);
}
long long nzdniza(long long a[],int n)
{
	int k = a[0]; 
    for (int i = 1; i < n; i++) 
    { 
        k = nzd(a[i], k); 
  
        if(k == 1) 
        { 
           return 1; 
        } 
    } 
    return k; 
}
int kraj(int n, int m,long long a[], long long b[])
{
	long long c[n];
	for(int i=0;i<n-1;i++)
	{
		c[i]=a[i+1]-a[i];
	}
	for(int i=0;i<m;i++)
	{
		if((a[0]-b[i])%nzdniza(c,n-1)==0)
		{
			return 0;
		}
	}
	return 1;
}
int main()
{
	int t;
	cin>>t;
	int m;
	int n;
	int c[6];
	long long a[75010];
	long long b[75010];
	for(int j=0;j<t;j++)
	{
		cin>>n>>m;
		for(int i=0;i<n;i++)
		{
			cin>>a[i];		
		}
		for(int i=0;i<m;i++)
		{
			cin>>b[i];
		}
		c[j]=kraj(n,m,a,b);
	}
	for(int i=0;i<t;i++)
	{
		cout<<c[i]<<endl;
	}
	
}