#include <bits/stdc++.h>
using namespace std;
void solve()
{
long long n, x, y, temp = 0, s = 0, min = 0;
cin >> n >> x >> y;
priority_queue<long long, vector<long long>, greater<long long>> pq;
for(long long i=0; i<n; i++)
{
cin >> temp;
pq.push(temp);
}
for(long long i=0; i<y; i++)
{
min = pq.top();
pq.pop();
s = (min^x);
pq.push(s);
if((pq.top()^x) == min)
{
if(y%2==0)
{
break;
}
}
}
while (pq.empty() == false)
{
cout << pq.top() << " ";
pq.pop();
}
cout << "\n";
}
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
long long t;
cin >> t;
while(t--!=0)
{
solve();
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCkKewoJbG9uZyBsb25nIG4sIHgsIHksIHRlbXAgPSAwLCBzID0gMCwgbWluID0gMDsKCWNpbiA+PiBuID4+IHggPj4geTsKCXByaW9yaXR5X3F1ZXVlPGxvbmcgbG9uZywgdmVjdG9yPGxvbmcgbG9uZz4sIGdyZWF0ZXI8bG9uZyBsb25nPj4gcHE7Cglmb3IobG9uZyBsb25nIGk9MDsgaTxuOyBpKyspCgl7CgkJY2luID4+IHRlbXA7CgkJcHEucHVzaCh0ZW1wKTsKCX0KCWZvcihsb25nIGxvbmcgaT0wOyBpPHk7IGkrKykKCXsKCQltaW4gPSBwcS50b3AoKTsKCQlwcS5wb3AoKTsKCQlzID0gKG1pbl54KTsKCQlwcS5wdXNoKHMpOwoJCWlmKChwcS50b3AoKV54KSA9PSBtaW4pCgkJewoJCQlpZih5JTI9PTApCgkJCXsKCQkJCWJyZWFrOwoJCQl9CgkJfQoJfQoJd2hpbGUgKHBxLmVtcHR5KCkgPT0gZmFsc2UpCiAgICB7CiAgICAgICAgY291dCA8PCBwcS50b3AoKSA8PCAiICI7CiAgICAgICAgcHEucG9wKCk7CiAgICB9CiAgICBjb3V0IDw8ICJcbiI7Cn0KCmludCBtYWluKCkgewoJaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7CgljaW4udGllKDApOwoJY291dC50aWUoMCk7Cglsb25nIGxvbmcgdDsKCWNpbiA+PiB0OwoJd2hpbGUodC0tIT0wKQoJewoJCXNvbHZlKCk7Cgl9CglyZXR1cm4gMDsKfQ==