#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
void solve() {
ll k, l1, r1, l2, r2;
cin >> k >> l1 >> r1 >> l2 >> r2;
ll ans = 0;
for (int n = 1; n <= 32; ++n) {
ll kn = 1;
bool overflow = false;
// compute k^n safely
for (int i = 1; i <= n; ++i) {
if (kn > 1e18 / k) {
overflow = true;
break;
}
kn *= k;
}
if (overflow) break;
// binary search for first x in [l1, r1] such that x * kn >= l2
ll low = l1, high = r1, left = -1;
while (low <= high) {
ll mid = (low + high) / 2;
if (mid > r2 / kn) {
high = mid - 1;
continue;
}
if (mid * kn >= l2) {
left = mid;
high = mid - 1;
} else {
low = mid + 1;
}
}
// binary search for last x in [l1, r1] such that x * kn <= r2
low = l1, high = r1;
ll right = -1;
while (low <= high) {
ll mid = (low + high) / 2;
if (mid > r2 / kn) {
high = mid - 1;
continue;
}
if (mid * kn <= r2) {
right = mid;
low = mid + 1;
} else {
high = mid - 1;
}
}
if (left != -1 && right != -1 && right >= left) {
ans += (right - left + 1);
}
}
cout << ans << '\n';
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwoKdm9pZCBzb2x2ZSgpIHsKICAgIGxsIGssIGwxLCByMSwgbDIsIHIyOwogICAgY2luID4+IGsgPj4gbDEgPj4gcjEgPj4gbDIgPj4gcjI7CiAgICBsbCBhbnMgPSAwOwoKICAgIGZvciAoaW50IG4gPSAxOyBuIDw9IDMyOyArK24pIHsKICAgICAgICBsbCBrbiA9IDE7CiAgICAgICAgYm9vbCBvdmVyZmxvdyA9IGZhbHNlOwoKICAgICAgICAvLyBjb21wdXRlIGtebiBzYWZlbHkKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBuOyArK2kpIHsKICAgICAgICAgICAgaWYgKGtuID4gMWUxOCAvIGspIHsKICAgICAgICAgICAgICAgIG92ZXJmbG93ID0gdHJ1ZTsKICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGtuICo9IGs7CiAgICAgICAgfQogICAgICAgIGlmIChvdmVyZmxvdykgYnJlYWs7CgogICAgICAgIC8vIGJpbmFyeSBzZWFyY2ggZm9yIGZpcnN0IHggaW4gW2wxLCByMV0gc3VjaCB0aGF0IHggKiBrbiA+PSBsMgogICAgICAgIGxsIGxvdyA9IGwxLCBoaWdoID0gcjEsIGxlZnQgPSAtMTsKICAgICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICAgICAgbGwgbWlkID0gKGxvdyArIGhpZ2gpIC8gMjsKICAgICAgICAgICAgaWYgKG1pZCA+IHIyIC8ga24pIHsKICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQgLSAxOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1pZCAqIGtuID49IGwyKSB7CiAgICAgICAgICAgICAgICBsZWZ0ID0gbWlkOwogICAgICAgICAgICAgICAgaGlnaCA9IG1pZCAtIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBsb3cgPSBtaWQgKyAxOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBiaW5hcnkgc2VhcmNoIGZvciBsYXN0IHggaW4gW2wxLCByMV0gc3VjaCB0aGF0IHggKiBrbiA8PSByMgogICAgICAgIGxvdyA9IGwxLCBoaWdoID0gcjE7CiAgICAgICAgbGwgcmlnaHQgPSAtMTsKICAgICAgICB3aGlsZSAobG93IDw9IGhpZ2gpIHsKICAgICAgICAgICAgbGwgbWlkID0gKGxvdyArIGhpZ2gpIC8gMjsKICAgICAgICAgICAgaWYgKG1pZCA+IHIyIC8ga24pIHsKICAgICAgICAgICAgICAgIGhpZ2ggPSBtaWQgLSAxOwogICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYgKG1pZCAqIGtuIDw9IHIyKSB7CiAgICAgICAgICAgICAgICByaWdodCA9IG1pZDsKICAgICAgICAgICAgICAgIGxvdyA9IG1pZCArIDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICBoaWdoID0gbWlkIC0gMTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgaWYgKGxlZnQgIT0gLTEgJiYgcmlnaHQgIT0gLTEgJiYgcmlnaHQgPj0gbGVmdCkgewogICAgICAgICAgICBhbnMgKz0gKHJpZ2h0IC0gbGVmdCArIDEpOwogICAgICAgIH0KICAgIH0KCiAgICBjb3V0IDw8IGFucyA8PCAnXG4nOwp9CgppbnQgbWFpbigpIHsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IHQ7CiAgICBjaW4gPj4gdDsKICAgIHdoaWxlICh0LS0pIHNvbHZlKCk7CgogICAgcmV0dXJuIDA7Cn0K