10
4 108 114
5 30 155
8 193 197
9 71 169
2 163 166
8 120 144
8 22 151
4 21 166
2 46 127
8 38 51
 20
9 142 172
7 132 256
8 245 315
9 496 496
3 345 362
8 13 162
5 342 470
9 16 488
9 467 482
4 471 478
10 92 224
6 228 261
9 54 167
2 402 409
5 9 10
7 225 360
3 438 483
6 252 342
3 491 493
6 296 367
 1
8 1234567890123 123456789012345

0
3
0
1
3
0
5
16
9
1
 0
0
0
0
4
6
13
7
0
0
1
2
3
0
0
2
12
9
1
4
 774752389568

#include <bits/stdc++.h>
using namespace std;
int q;
int b;
long long l, r;
long long tat[11][66][1 << 11];
bool itat[11][66][1 << 11];
long long ta(int b, int p, int msk) {
  if (p < 0) return 0;
  if (itat[b][p][msk]) {
    return tat[b][p][msk];
  }
  long long a = 0;
  if (b == 1) {
    if ((msk & 1) == (p & 1)) {
      a = 1;
    } else {
      a = 0;
    }
  } else {
    long long nob = 1;
    long long tp = p;
    if (msk & 1) {
      nob = p;
      --tp;
    }
    while (tp >= 0) {
      a += nob * ta(b - 1, tp, msk >> 1);
      nob *= (tp * (tp - 1)) / ((p - tp + 1) * (p - tp + 2));
      tp -= 2;
    }
  }
  itat[b][p][msk] = 1;
  return tat[b][p][msk] = a;
}
long long ans1(int b, long long l) {
  long long a = 0;
  long long t = 1;
  int p = 1;
  while (t * b <= l) {
    t *= b;
    a += ta(b, p++, 0);
    a -= ta(b, p - 2, 1);
  }
  --p;
  long long g = t;
  int msk = 2;
  int bb = 0;
  while (g) {
    if (t + g > l) {
      g /= b;
      msk ^= 1;
      bb = 0;
      --p;
      continue;
    }
    t += g;
    a += ta(b, p, msk);
    msk ^= 3 << (bb++);
  }
  a += ta(b, 0, msk ^ 1);
  return a;
}
long long ans(int b, long long l, long long r) {
  return ans1(b, r) - ans1(b, l - 1);
}
int main() {
  cin >> q;
  for (int i = 0; i < q; ++i) {
    cin >> b >> l >> r;
    cout << ans(b, l, r) << "\n";
  }
}
