#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ul unsigned long long
ll mod = 1e9+7;
const int N = 1e5+5;
const int n = 1e7;
int MOD = 998244353;
int bit[200000];
bool p[n+5];
int t[n+5];
void sang(){
memset(p, true, sizeof(p));
p[0]=0;
p[1]=0;
for (int i = 2; i <= n; i++) {
if (p[i]) {
for (ll j = i * i; j <= n; j += i){
p[j] = false;
}
}
}
}
void pref(){
t[0]=0;
for(int i=1;i<=n;i++){
t[i] = t[i-1] + p[i];
}
}
int main() {
//freopen("CSBN.INP", "r", stdin);
//freopen("CSBN.OUT", "w", stdout);
ios::sync_with_stdio(false);
cin.tie(nullptr);
sang();
pref();
int q;
cin >> q;
while(q--){
int l,r;
cin >> l >> r;
cout << t[r] - t[l-1] << "\n";
}
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZwojZGVmaW5lIHVsIHVuc2lnbmVkIGxvbmcgbG9uZwoKbGwgbW9kID0gMWU5Kzc7CmNvbnN0IGludCBOID0gMWU1KzU7CmNvbnN0IGludCBuID0gMWU3OwppbnQgTU9EID0gOTk4MjQ0MzUzOwppbnQgYml0WzIwMDAwMF07CmJvb2wgcFtuKzVdOwppbnQgdFtuKzVdOwp2b2lkIHNhbmcoKXsKCW1lbXNldChwLCB0cnVlLCBzaXplb2YocCkpOwoJcFswXT0wOwoJcFsxXT0wOwoJZm9yIChpbnQgaSA9IDI7IGkgPD0gbjsgaSsrKSB7CgkJCWlmIChwW2ldKSB7CiAgICAgICAgICAgICAgICBmb3IgKGxsIGogPSBpICogaTsgaiA8PSBuOyBqICs9IGkpewoJCQkJCiAgICAgICAgICAgICAgICAgICAgcFtqXSA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIAogICAgICAgICAgICB9CiAgICAgICAgCgl9Cn0Kdm9pZCBwcmVmKCl7CgoJdFswXT0wOwoJZm9yKGludCBpPTE7aTw9bjtpKyspewoJCXRbaV0gPSB0W2ktMV0gKyBwW2ldOwoJfQp9CmludCBtYWluKCkgewoJLy9mcmVvcGVuKCJDU0JOLklOUCIsICJyIiwgc3RkaW4pOwoJLy9mcmVvcGVuKCJDU0JOLk9VVCIsICJ3Iiwgc3Rkb3V0KTsKCWlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKCWNpbi50aWUobnVsbHB0cik7CglzYW5nKCk7CglwcmVmKCk7CglpbnQgcTsKCWNpbiA+PiBxOwoJd2hpbGUocS0tKXsKCQlpbnQgbCxyOwoKCQljaW4gPj4gbCA+PiByOwoJCWNvdXQgPDwgdFtyXSAtIHRbbC0xXSA8PCAiXG4iOwoJICAgIAoJICAgIAoJfQp9IA==