#include <bits/stdc++.h>
#include<iostream>
#define ull unsigned long long
using namespace std;
ull getXorSum(ull *begin, ull *end)
{
ull ret = 0;
for (ull *it = begin; it != end; ++it)
ret ^= *it;
return ret;
}
int main()
{
int T;
scanf("%d", &T);
while(T--)
{
ull n, m;
scanf("%llu%llu", &n, &m);
ull a[n], b[m], c[n] = {0};
for(int i=0; i<n; i++)
scanf("%llu", &a[i]);
for(int i=0; i<m; i++)
scanf("%llu", &b[i]);
for(int i=0, j=0; i<n; i++)
{
if(a[i] == b[j])
while(j < m && a[i] == b[j])
{
j++;
c[i]++;
}
while(a[i] > b[j])
j++;
}
printf("%llu\n", getXorSum(c, c+n));
}
return 0;
}