#include <iostream>
#include<stdlib.h>

using namespace std;

int main ()
{
    int t, n, m, o;
    cin>>t;
    int niz[t];
    int A[n], B[m];
    for(int k=0; k<t; k++)
    {
        cin>>n>>m;
        int A[n], B[m];
        for(int i=0; i<n; i++)
        {
            cin>>A[i];
        }
        for(int l=0; l<m; l++)
        {
            cin>>B[l];
        }
}
    for(int k=0; k<t; k++)
    {
    	//cout<<"uslo u for"<<endl;
        //cin>>n>>m;
        //int A[n], B[m];
        //for(int i=0; i<n; i++)
        //{
          //  cin>>A[i];
        //}
        //for(int l=0; l<m; l++)
        //{
          //  cin>>B[l];
        //}
     	int mi=0, ma=0, temp=0; 
    	for (int i = 0; i < n-1; i++)
		{    
        	mi = i;  
        	for (int j = i + 1; j < n; j++){  
        	if (niz[j] < niz[mi]) 
			{
				mi = j;   
			} 
           	
			}
	    temp = niz[mi];
        niz[mi] = niz[i];
        niz [i] = temp;
    	int x=1000;
    	for(int i=0; i<n-1; i++)
    	{
    		if((A[i+1]-A[i])<x)
    		{
    			x=A[i+1]-A[i];
			}
		}
		o=A[0]%x;
		for(int i=0; i<n; i++)
        {
            if(A[i]%x!=o)
            {
            	niz[k]=0;
			}
        }
		for(int l=0; l<m; l++)
        {
            if(B[l]%x==o)
            {
            	niz[k]=0;
			}
			else
			{
				niz[k]=1;
			}
        }
    }
    for(int k=0; k<t; k++)
    {
    //	cout<<"ispis"<<endl;
        cout<<niz[k]<<endl;
        k+=5;
    }
}
    return 0;
}