#include<bits/stdc++.h>
using namespace std;
#define ll long long int
const ll N = 30 + 1, M = 18, K = 10001, OO = 2e18l, L = 18, MOD = 1e9 + 7, sumD = 6638449, inv = 500000004;
ll l, r, x, dp[N][2][2];
ll count(ll i, bool f1, bool f2) {
if (i < 0) return 1;
ll &ret = dp[i][f1][f2], bit1 = ((l >> i) & 1), bit2 = ((r >> i) & 1), OR = ((x >> i) & 1);
if (~ret)
return ret;
ret = 0;
ll st = (f1 ? bit1 : 0), en = (f2 ? bit2 : 1);
if(OR == 0) {
if(st == 0) ret += (count(i - 1, f1 & (0 == bit1), f2 & (0 == bit2)));
}
else {
if(en == 1) ret += (count(i - 1, f1 & (1 == bit1), f2 & (1 == bit2)));
if(st == 0) ret += (count(i - 1, f1 & (0 == bit1), f2 & (0 == bit2)));
}
return ret;
}
ll slv() {
memset(dp, -1, sizeof dp);
ll y = x, mx = count(30, 1, 1);
for(int i = 0; i < 30; i++) {
if(y >> i & 1) {
x = y;
x ^= 1 << i;
x |= (1 << i) - 1;
memset(dp, -1, sizeof dp);
mx = max(mx, count(30, 1, 1));
}
}
x = y;
return mx;
}
ll bf() {
const int NN = 1 << (r - l + 1);
int mx = 0;
for(int mask = 0; mask < NN; mask++) {
int oo = 0;
for(int i = l; i <= r; i++) {
if(mask >> (i - l) & 1) {
oo |= i;
}
}
if(oo <= x) {
mx = max(mx, __builtin_popcount(mask));
}
}
return mx;
}
void solve() {
cin >> l >> r >> x;
cout << slv();
// for(l = 1; l < 16; l++) {
// for(r = l; r < 16; r++) {
// for(x = 1; x <= 16; x++) {
// if(bf() != slv()) {
// cout << l << ' ' << r << ' ' << x << '\n';
// cout << "right " << bf() << '\n';
// cout << "wrong " << slv() << '\n';
// }
// }
// }
// }
// cout << count(30, 1, 1, 1);
}
signed main() {
// l = 2, r = 5, x = 6;
// cout << slv() << '\n';
ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
ll t = 1;
cin >> t;
while (t--) { solve(); cout << "\n";}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcgaW50Cgpjb25zdCBsbCBOID0gMzAgKyAxLCBNID0gMTgsIEsgPSAxMDAwMSwgT08gPSAyZTE4bCwgTCA9IDE4LCBNT0QgPSAxZTkgKyA3LCBzdW1EID0gNjYzODQ0OSwgaW52ID0gNTAwMDAwMDA0OwoKbGwgbCwgciwgeCwgZHBbTl1bMl1bMl07CgpsbCBjb3VudChsbCBpLCBib29sIGYxLCBib29sIGYyKSB7CiAgICBpZiAoaSA8IDApIHJldHVybiAxOwogICAgbGwgJnJldCA9IGRwW2ldW2YxXVtmMl0sIGJpdDEgPSAoKGwgPj4gaSkgJiAxKSwgYml0MiA9ICgociA+PiBpKSAmIDEpLCBPUiA9ICgoeCA+PiBpKSAmIDEpOwogICAgaWYgKH5yZXQpCiAgICAgICAgcmV0dXJuIHJldDsKICAgIHJldCA9IDA7CiAgICBsbCBzdCA9IChmMSA/IGJpdDEgOiAwKSwgZW4gPSAoZjIgPyBiaXQyIDogMSk7CiAgICBpZihPUiA9PSAwKSB7CiAgICAgICAgaWYoc3QgPT0gMCkgcmV0ICs9IChjb3VudChpIC0gMSwgZjEgJiAoMCA9PSBiaXQxKSwgZjIgJiAoMCA9PSBiaXQyKSkpOwogICAgfQogICAgZWxzZSB7CiAgICAgICAgaWYoZW4gPT0gMSkgcmV0ICs9IChjb3VudChpIC0gMSwgZjEgJiAoMSA9PSBiaXQxKSwgZjIgJiAoMSA9PSBiaXQyKSkpOwogICAgICAgIGlmKHN0ID09IDApIHJldCArPSAoY291bnQoaSAtIDEsIGYxICYgKDAgPT0gYml0MSksIGYyICYgKDAgPT0gYml0MikpKTsKICAgIH0KICAgIHJldHVybiByZXQ7Cn0KCmxsIHNsdigpIHsKICAgIG1lbXNldChkcCwgLTEsIHNpemVvZiBkcCk7CiAgICBsbCB5ID0geCwgbXggPSBjb3VudCgzMCwgMSwgMSk7CiAgICBmb3IoaW50IGkgPSAwOyBpIDwgMzA7IGkrKykgewogICAgICAgIGlmKHkgPj4gaSAmIDEpIHsKICAgICAgICAgICAgeCA9IHk7CiAgICAgICAgICAgIHggXj0gMSA8PCBpOwogICAgICAgICAgICB4IHw9ICgxIDw8IGkpIC0gMTsKICAgICAgICAgICAgbWVtc2V0KGRwLCAtMSwgc2l6ZW9mIGRwKTsKICAgICAgICAgICAgbXggPSBtYXgobXgsIGNvdW50KDMwLCAxLCAxKSk7CiAgICAgICAgfQogICAgfQogICAgeCA9IHk7CiAgICByZXR1cm4gbXg7Cn0KCmxsIGJmKCkgewogICAgY29uc3QgaW50IE5OID0gMSA8PCAociAtIGwgKyAxKTsKICAgIGludCBteCA9IDA7CiAgICBmb3IoaW50IG1hc2sgPSAwOyBtYXNrIDwgTk47IG1hc2srKykgewogICAgICAgIGludCBvbyA9IDA7CiAgICAgICAgZm9yKGludCBpID0gbDsgaSA8PSByOyBpKyspIHsKICAgICAgICAgICAgaWYobWFzayA+PiAoaSAtIGwpICYgMSkgewogICAgICAgICAgICAgICAgb28gfD0gaTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihvbyA8PSB4KSB7CiAgICAgICAgICAgIG14ID0gbWF4KG14LCBfX2J1aWx0aW5fcG9wY291bnQobWFzaykpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiBteDsKfQoKdm9pZCBzb2x2ZSgpIHsKICAgIGNpbiA+PiBsID4+IHIgPj4geDsKICAgIGNvdXQgPDwgc2x2KCk7Ci8vICAgIGZvcihsID0gMTsgbCA8IDE2OyBsKyspIHsKLy8gICAgICAgIGZvcihyID0gbDsgciA8IDE2OyByKyspIHsKLy8gICAgICAgICAgICBmb3IoeCA9IDE7IHggPD0gMTY7IHgrKykgewovLyAgICAgICAgICAgICAgICBpZihiZigpICE9IHNsdigpKSB7Ci8vICAgICAgICAgICAgICAgICAgICBjb3V0IDw8IGwgPDwgJyAnIDw8IHIgPDwgJyAnIDw8IHggPDwgJ1xuJzsKLy8gICAgICAgICAgICAgICAgICAgIGNvdXQgPDwgInJpZ2h0ICIgPDwgYmYoKSA8PCAnXG4nOwovLyAgICAgICAgICAgICAgICAgICAgY291dCA8PCAid3JvbmcgIiA8PCBzbHYoKSA8PCAnXG4nOwovLyAgICAgICAgICAgICAgICB9Ci8vICAgICAgICAgICAgfQovLyAgICAgICAgfQovLyAgICB9Ci8vICAgIGNvdXQgPDwgY291bnQoMzAsIDEsIDEsIDEpOwp9CgpzaWduZWQgbWFpbigpIHsKLy8gICAgbCA9IDIsIHIgPSA1LCB4ID0gNjsKLy8gICAgY291dCA8PCBzbHYoKSA8PCAnXG4nOwogICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpLCBjaW4udGllKG51bGxwdHIpLCBjb3V0LnRpZShudWxscHRyKTsKICAgIGxsIHQgPSAxOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7IHNvbHZlKCk7IGNvdXQgPDwgIlxuIjt9Cn0=