#include <bits/stdc++.h>
#define ll long long
#define el cout << '\n'
#define bit(mask, i) (((mask) >> (i)) & 1)
using namespace std;
const int max_pos = 35;
int q;
ll a, dp[max_pos + 10];
ll recur(ll n, int pos, ll num = 0, bool free = 0)
{
if (pos == -1)
return 1;
if (free && dp[pos] != -1)
return dp[pos];
ll ans = 0;
int limit = free ? 1 : bit(n, pos);
if (bit(a, pos))
{
if (limit)
ans += recur(n, pos - 1, num * 2 + 1, free);
}
else
{
for (int digit = 0; digit <= limit; digit++)
ans += recur(n, pos - 1, num * 2 + digit, free || digit < limit);
}
if (free)
dp[pos] = ans;
return ans;
}
ll f(ll n)
{
memset(dp, -1, sizeof dp);
return recur(n, max_pos);
}
int main()
{
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if (fopen("OR.INP", "r"))
{
freopen("OR.INP", "r", stdin);
freopen("OR.OUT", "w", stdout);
}
cin >> q;
while (q--)
{
ll l, r;
cin >> a >> l >> r;
cout << f(r) - f(l - 1), el;
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIGVsIGNvdXQgPDwgJ1xuJwojZGVmaW5lIGJpdChtYXNrLCBpKSAoKChtYXNrKSA+PiAoaSkpICYgMSkKCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBpbnQgbWF4X3BvcyA9IDM1OwoKaW50IHE7CmxsIGEsIGRwW21heF9wb3MgKyAxMF07CgpsbCByZWN1cihsbCBuLCBpbnQgcG9zLCBsbCBudW0gPSAwLCBib29sIGZyZWUgPSAwKQp7CiAgICBpZiAocG9zID09IC0xKQogICAgICAgIHJldHVybiAxOwogICAgaWYgKGZyZWUgJiYgZHBbcG9zXSAhPSAtMSkKICAgICAgICByZXR1cm4gZHBbcG9zXTsKICAgIGxsIGFucyA9IDA7CiAgICBpbnQgbGltaXQgPSBmcmVlID8gMSA6IGJpdChuLCBwb3MpOwogICAgaWYgKGJpdChhLCBwb3MpKQogICAgewogICAgICAgIGlmIChsaW1pdCkKICAgICAgICAgICAgYW5zICs9IHJlY3VyKG4sIHBvcyAtIDEsIG51bSAqIDIgKyAxLCBmcmVlKTsKICAgIH0KICAgIGVsc2UKICAgIHsKICAgICAgICBmb3IgKGludCBkaWdpdCA9IDA7IGRpZ2l0IDw9IGxpbWl0OyBkaWdpdCsrKQogICAgICAgICAgICBhbnMgKz0gcmVjdXIobiwgcG9zIC0gMSwgbnVtICogMiArIGRpZ2l0LCBmcmVlIHx8IGRpZ2l0IDwgbGltaXQpOwogICAgfQogICAgaWYgKGZyZWUpCiAgICAgICAgZHBbcG9zXSA9IGFuczsKICAgIHJldHVybiBhbnM7Cn0KbGwgZihsbCBuKQp7CiAgICBtZW1zZXQoZHAsIC0xLCBzaXplb2YgZHApOwogICAgcmV0dXJuIHJlY3VyKG4sIG1heF9wb3MpOwp9CgppbnQgbWFpbigpCnsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oMCk7IGNpbi50aWUoMCk7IGNvdXQudGllKDApOwogICAgaWYgKGZvcGVuKCJPUi5JTlAiLCAiciIpKQogICAgewogICAgICAgIGZyZW9wZW4oIk9SLklOUCIsICJyIiwgc3RkaW4pOwogICAgICAgIGZyZW9wZW4oIk9SLk9VVCIsICJ3Iiwgc3Rkb3V0KTsKICAgIH0KCiAgICBjaW4gPj4gcTsKICAgIHdoaWxlIChxLS0pCiAgICB7CiAgICAgICAgbGwgbCwgcjsKICAgICAgICBjaW4gPj4gYSA+PiBsID4+IHI7CiAgICAgICAgY291dCA8PCBmKHIpIC0gZihsIC0gMSksIGVsOwogICAgfQp9Cg==