using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace treci_kvalifikacije
{
	class Program
	{
		static void Main(string[] args)
		{

			int t = int.Parse(Console.ReadLine());
			int[] jedinicIliNula = new int[t];
			for (long i = 0; i < t; i++)
			{
				
				string[] zalbe = Console.ReadLine().Split();
				int n = int.Parse(zalbe[0]);
				int m = int.Parse(zalbe[1]);
				string[] prihvacene = Console.ReadLine().Split();
				string[] odbijene = Console.ReadLine().Split();
				long[] nizPrihvacene = new long[n];
				long najmanjaRazlikaOdTeGodine = long.MaxValue;
				
				for (long j = 0; j < n; j++)
				{
					nizPrihvacene[j] = long.Parse(prihvacene[j]);
				}
				long[] nizOdbijene = new long[m];
				for (long j = 0; j < m; j++)
				{
					nizOdbijene[j] = long.Parse(odbijene[j]);
				}
				long[] razlikePrihvacenih = new long[n-1];
				//sortiranje niza
				Array.Sort(nizPrihvacene);
				Array.Sort(nizOdbijene);
				//racunanje najmanje razlike
				for (long j = 0; j < n-1; j++)
				{
					razlikePrihvacenih[j] = nizPrihvacene[j + 1] - nizPrihvacene[j];
					if (razlikePrihvacenih[j] < najmanjaRazlikaOdTeGodine)
					{
						najmanjaRazlikaOdTeGodine = razlikePrihvacenih[j];
					}
				}
				//preoveravanje da li je u skladu sa glasinama za prihvacene
				for (long j = 0; j < n; j++)
				{
					if ((nizPrihvacene[j] - nizPrihvacene[0]) % najmanjaRazlikaOdTeGodine == 0)
					{
						jedinicIliNula[i] = 1;
					}
					else jedinicIliNula[i] = 0;
				}
				//preoveravanje da li je u skladu sa glasinama za odbijene
				for (long j = 0; j < m; j++)
				{
					if ((nizOdbijene[j] - nizPrihvacene[0]) % najmanjaRazlikaOdTeGodine == 0)
					{
						jedinicIliNula[i] = 0;
					}
					else jedinicIliNula[i] = 1;
				}
			}
			//ispis
			for(int i = 0; i < t; i++)
			{
				Console.WriteLine(jedinicIliNula[i]);
			}
			Console.ReadLine();
		}
	}
}