#include <bits/stdc++.h>
using namespace std;
#define fastio ios::sync_with_stdio(0); cin.tie(nullptr); cout.tie(nullptr);
#define ll long long
#define int ll
const int mxn = (int)2e5+7;
const int MOD = 998244353;
#define isON(n, k) (((n) >> (k)) & 1)

void GETAC(){

    int n, x, y;
    cin >> n >> x >> y;
    vector<int> A(n), A1, A2;
    for (int& i : A) cin >> i;
    int mid(n / 2);
    for (int msk(0); msk < (1 << mid); ++msk) {
        int xr(0);
        for (int i(0); i < mid; ++i)
            if (isON(msk, i))
                xr ^= A[i];

            A1.emplace_back(xr);
    }

    for (int msk(0); msk < (1 << (n - mid)); ++msk) {
        int xr(0);
        for (int i(0); i < n-mid; ++i)
            if (isON(msk, i))
                xr ^= A[mid + i];

            A2.emplace_back(xr);
    }

    sort(A1.begin(), A1.end()), sort(A2.begin(), A2.end());
    bool ok_x, ok_y;
    ok_x = ok_y = 0;
    for (int& i : A1) {
        if (!ok_x and binary_search(A2.begin(), A2.end(), x ^ i))
            ok_x = 1;

        if (!ok_y and binary_search(A2.begin(), A2.end(), y ^ i))
            ok_y = 1;

        if (ok_x and ok_y)
            return void(cout << "YES");

    }
    cout << "NO";
}

signed main()
{
    fastio
    int t(1); cin >> t;
    while(t--) GETAC(), cout << '\n';
}