#include <iostream>
#include <cmath>
using namespace std;

int main()
{
    int T;
    cin >> T;

    for(int i=0; i < T; i++)
    {
        unsigned long long int N, M;
        cin >> N >> M;
        unsigned long long int prihvaceni[N], odbijenih[M];
        for(long long int i=0; i < N; i++)
        {
            cin >> prihvaceni[i];
        }
        for(long long int i=0; i < M; i++)
        {
            cin >> odbijenih[i];
        }
        unsigned long long int razlika = abs(prihvaceni[1] - prihvaceni[2]);
        unsigned long long int najveci = max(prihvaceni[0], prihvaceni[1]);
        unsigned long long int prva_mogucnost = najveci - razlika;
        unsigned long long int druga_mogucnost = najveci + razlika;

        bool da_li_je = false;

        for(long long int i = 0; i < M; i++)
        {
            if(prva_mogucnost == odbijenih[i] || druga_mogucnost == odbijenih[i])
            {
                da_li_je = true;
                break;
            }
        }

        if(da_li_je)
        {
            cout << 0 << endl;
        }
        else
        {
            cout << 1 << endl;
        }

    }

    return 0;
}