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

namespace ConsoleApplication1
{
    class Program
    {
        static ulong nzde(ulong a, ulong b)
        {
            ulong temp;

            while (b != 0)
            {
                temp = a;
                a = b;
                b = temp % b;
            }
            return a;
        }

        // nzd od prvog niza
        static ulong nzd(ulong[] na, ulong min1)
        {
            int i = na.Length;
            ulong rezultat;

            if (na[0] != min1)
            {
                if (na[1] != min1)
                    rezultat = nzde(na[0] - min1, na[1] - min1);
                else
                    rezultat = na[0] - min1;
            }
            else
                rezultat = na[1] - min1;

            int j = 2;

            while (j < i)
            {
                if (na[j] != min1)
                {
                    rezultat = nzde(na[j] - min1, rezultat);
                }
                j++;
            }
            return rezultat;
        }
      

        static void Main(string[] args)
        {
            int t = int.Parse(Console.ReadLine());

            int[] ispis = new int[t];
            int i = 0;
            int j = 0;
           
            ulong min1;
            ulong xp;

            while (i < t)
            {
                string[] s = Console.ReadLine().Split();
                int n = int.Parse(s[0]);
                int m = int.Parse(s[1]);

                ulong [] na = new ulong[n];
                ulong [] mb = new ulong[m];

                s = Console.ReadLine().Split();
                na[0] = ulong.Parse(s[0]);
                min1 = na[0];

                j = 1;
                while (j < n)
                {
                    na[j] = ulong.Parse(s[j]);
                    if (na[j] < min1)
                    {
                        min1 = na[j];
                    }
                    j++;
                }

                xp = nzd(na, min1);
                ispis[i] = 1;
                j = 0;
                s = Console.ReadLine().Split();
                    
                while (j < m)
                {
                    mb[j] = ulong.Parse(s[j]);
                    if ((mb[j]-min1) % xp == 0)
                    {
                        ispis[i] = 0;
                        break;
                    }
                    j++;
                }
                i++;
            }

            i = 0;
            while (i < t)
            {
                Console.WriteLine(ispis[i]);
                i++;
            }
            Console.ReadLine();
        }
    }
}