#include <iostream>

using namespace std;

namespace p
{
	int abs(int x)
	{
		if (x < 0)
			x *= (-1);
		return x;
	}
}


int main()
{
	int T;
	bool test[5] = { 1,1,1,1,1 };
	cin >> T;
	int x;
	bool t;

	for (int k = 0;k < T;k++)
	{
		int N, M;
		cin >> N;
		cin >> M;
		// const int N = 2;
		// const int M = 2;
		long long int A[N];
		long long int B[M];
		for (int i = 0;i < N;i++)
		{
			cin >> A[i];
		}
		for (int i = 0;i < M;i++)
		{
			cin >> B[i];
		}

		for (int i = 0;i < N;i++)
		{
			x = p::abs(A[i] - A[i + 1]);
			t = true;
			for (int j = 0;j < N-1;j++)
			{
				if (p::abs(A[j] - A[j + 1]) % x != 0)
				{
					t = false;
					goto kraj;
				}
			}
			break;
		kraj:
			;
		}

		if (!t)
		{
			test[k] = 0;
		}
		else
		{
			for (int i = 0;i < M;i++)
			{
				for (int j = 0;j < N;j++)
				{
					if (p::abs(A[j] - B[i]) % x == 0)
					{
						test[k] = 0;
						goto end;
					}
				}
			}
		}
	end:
		;
	}
	for (int i = 0;i < T;i++)
	{
		cout << test[i] << endl;
	}
	return 0;
}