#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";}
}