#include <bits/stdc++.h>
using namespace std;
#define lli long long int
vector<lli> prime(1000001);
void sieve()
{
for(lli i=0;i<1000001;i++)
prime[i]=1;
prime[0]=0;
prime[1]=0;
for(lli i=2;i<1000001;i++)
{
if(prime[i]==1)
{
for(lli j=i;i*j<1000001;j++)
{
prime[i*j]=0;
}
}
}
}
int main()
{
sieve();
lli q,l,r;
cin>>q;
while(q--)
{
lli count=0;
cin>>l>>r;
for(lli i=l;i<=r;i++)
{
lli n=sqrt(l);
if(n*n==i)
{
if(prime[n]==1)
count++;
}
}
cout<<count<<"\n";
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgbGxpIGxvbmcgbG9uZyBpbnQKdmVjdG9yPGxsaT4gcHJpbWUoMTAwMDAwMSk7CgkKdm9pZCBzaWV2ZSgpCnsKCWZvcihsbGkgaT0wO2k8MTAwMDAwMTtpKyspCglwcmltZVtpXT0xOwoJcHJpbWVbMF09MDsKCXByaW1lWzFdPTA7Cglmb3IobGxpIGk9MjtpPDEwMDAwMDE7aSsrKQoJewoJCWlmKHByaW1lW2ldPT0xKQoJCXsKCQkJZm9yKGxsaSBqPWk7aSpqPDEwMDAwMDE7aisrKQoJCQl7CgkJCQlwcmltZVtpKmpdPTA7CgkJCX0KCQl9Cgl9Cn0KaW50IG1haW4oKQp7CglzaWV2ZSgpOwkKCWxsaSBxLGwscjsKCWNpbj4+cTsKCXdoaWxlKHEtLSkKCXsKCQlsbGkgY291bnQ9MDsKCQljaW4+Pmw+PnI7CgkJZm9yKGxsaSBpPWw7aTw9cjtpKyspCgkJewoJCQlsbGkgbj1zcXJ0KGwpOwoJCQlpZihuKm49PWkpCgkJCXsKCQkJCWlmKHByaW1lW25dPT0xKQoJCQkJY291bnQrKzsKCQkJfQoJCX0KCQljb3V0PDxjb3VudDw8IlxuIjsKCX0KCXJldHVybiAwOwp9Cg==