#include <bits/stdc++.h>
using namespace std;
void sortiraj(int a[], int n) {
   int i, j, min, temp;
   for (i = 0; i < n - 1; i++) {
      min = i;
      for (j = i + 1; j < n; j++)
      if (a[j] < a[min])
      min = j;
      temp = a[i];
      a[i] = a[min];
      a[min] = temp;
   }
}
void ispis(int a[], int n){
	for(int i=0;i<n;i++){
		cout<<a[i]<<" ";
	}
}
void unos(int a[], int n){
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
}
int provera(int a[], int b[], int ba, int bb){
	if(ba==1) {
		return 1;
	}
	else{
	int x = a[1] - a[0], godina=a[1], ind=1;
	while(godina<=a[ba-1]){	
	if(godina!=a[ind]){
	for(int i = 0; i<bb; i++){
		if(godina == b[i]){
			return 0;
		}
	}	
}
	else{
		a[ind] = 0;
		if(ind<ba-1) {
		ind++;
		}
	}
	godina+=x;
}
	int pr=0;
	for(int i = 2; i<ba; i++){
		if(a[i] != 0) pr++;
	}
	if(pr==0){
		return 1;
	}
	else{
		return 0;
	}
}
}
int main(int argc, char** argv) {
	int t, o=0;
	int c[t];
	vector<int> v;
	cin>>t;
	for(int i = 0; i<t; i++){
		int n,m;
		cin>>n>>m;
		int a[n], b[m];
		unos(a,n);
		unos(b,m);
		sortiraj(a,n);
		c[o++] = provera(a,b,n,m);	
	}
	for(int i = 0; i<t; i++){
		cout<<c[i];
		if(i != t-1) cout<<endl;
	}
	return 0;
}