#include <bits/stdc++.h>

using namespace std;

long long nzd(long long x, long long y)
{
	if(y==0) return x;
	else return nzd(y, x%y);
}
long long a[75001], b[75001];
int main()
{
	long long n, k, m, dfs=0, x;
	cin>>k;
	for(long long i=0; i<k; i++)
	{
		cin>>n;
		cin>>m;
		for(long long j=0; j<n; j++) cin>>a[j];
		for(long long j=0; j<m; j++) cin>>b[j];
		x=a[0];
		for(long long r=0; r<n-1; r++)
		{
			a[r]=a[r+1]-a[r];
		}
		dfs=a[0];
		for(long long r=1; r<n-1; r++)
		{
			dfs=nzd(dfs, a[r]);
		}
		x=x%dfs;
		for(long long r=0; r<m; r++)
		{
			if(b[r]%dfs==x)
			{
				x=0;
				cout<<"0"<<endl;
				goto stop;
			}
		}
		cout<<"1"<<endl;
		stop:;
	}
	return 0;
}