#include<stdio.h>
#include<math.h>
int main()
{
long int t,isprime[100000],i,j,primes[100000],p,sieve[32000];
for(i=0;i<32000;i++){
sieve[i]=0;
}
j=0;
for(i
=2;i
<=(long int)sqrt(1000000000);i
++){ if(sieve[i]==0){
primes[j]=i;
//printf("%ld\n",primes[j]);
j++;
p=2;
while(i
*p
<=(long int)sqrt(1000000000)){ sieve[i*p]=1;
p++;
}
}
}
primes[j]=9999999999;
//for(i=0;i<=j;i++)
//printf("%ld\n",primes[i]);
long int n,m;
while(t--)
{
scanf("%ld %ld", &m
, &n
); for(i=0;i<n-m+1;i++){
isprime[i]=1;
}
j=0;
if(m==1)
m++;
while(primes
[j
]<=(long int)sqrt(n
)){ //printf("%d\n",primes[j]);
i=m/primes[j];
if(i==0||i==1)
i=2*primes[j];
else
i=i*primes[j];
if(i<m)
i+=primes[j];
while(i<=n){
//printf("%d %d\n",i,primes[j]);
isprime[i-m]=0;
i+=primes[j];
}
j++;
}
for(i=0;i<n-m+1;i++){
if(isprime[i]==1){
}
}
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8bWF0aC5oPgoKaW50IG1haW4oKQp7CiAgICBsb25nIGludCB0LGlzcHJpbWVbMTAwMDAwXSxpLGoscHJpbWVzWzEwMDAwMF0scCxzaWV2ZVszMjAwMF07CiAgICBmb3IoaT0wO2k8MzIwMDA7aSsrKXsKICAgICAgICAgICAgc2lldmVbaV09MDsKICAgICAgICB9CiAgICBqPTA7CiAgICBmb3IoaT0yO2k8PShsb25nIGludClzcXJ0KDEwMDAwMDAwMDApO2krKyl7CiAgICAgICAgICAgIGlmKHNpZXZlW2ldPT0wKXsKICAgICAgICAgICAgICAgIHByaW1lc1tqXT1pOwogICAgICAgICAgICAgICAgLy9wcmludGYoIiVsZFxuIixwcmltZXNbal0pOwogICAgICAgICAgICAgICAgaisrOwogICAgICAgICAgICAgICAgcD0yOwogICAgICAgICAgICB3aGlsZShpKnA8PShsb25nIGludClzcXJ0KDEwMDAwMDAwMDApKXsKICAgICAgICAgICAgICAgIHNpZXZlW2kqcF09MTsKICAgICAgICAgICAgICAgIHArKzsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHByaW1lc1tqXT05OTk5OTk5OTk5OwogICAgLy9mb3IoaT0wO2k8PWo7aSsrKQogICAgICAgIC8vcHJpbnRmKCIlbGRcbiIscHJpbWVzW2ldKTsKICAgIGxvbmcgaW50IG4sbTsKICAgIHNjYW5mKCIlbGQgIiwmdCk7CiAgICB3aGlsZSh0LS0pCiAgICB7CiAgICAgICAgc2NhbmYoIiVsZCAlbGQiLCAmbSwgJm4pOwogICAgICAgIGZvcihpPTA7aTxuLW0rMTtpKyspewogICAgICAgICAgICBpc3ByaW1lW2ldPTE7CiAgICAgICAgfQogICAgICAgIGo9MDsKICAgICAgICBpZihtPT0xKQogICAgICAgICAgICBtKys7CiAgICAgICAgd2hpbGUocHJpbWVzW2pdPD0obG9uZyBpbnQpc3FydChuKSl7CiAgICAgICAgICAgICAgICAvL3ByaW50ZigiJWRcbiIscHJpbWVzW2pdKTsKICAgICAgICAgICAgICAgIGk9bS9wcmltZXNbal07CiAgICAgICAgICAgICAgICBpZihpPT0wfHxpPT0xKQogICAgICAgICAgICAgICAgICAgIGk9MipwcmltZXNbal07CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgaT1pKnByaW1lc1tqXTsKICAgICAgICAgICAgICAgIGlmKGk8bSkKICAgICAgICAgICAgICAgICAgICBpKz1wcmltZXNbal07CiAgICAgICAgICAgICAgICB3aGlsZShpPD1uKXsKICAgICAgICAgICAgICAgICAgICAvL3ByaW50ZigiJWQgJWRcbiIsaSxwcmltZXNbal0pOwogICAgICAgICAgICAgICAgICAgIGlzcHJpbWVbaS1tXT0wOwogICAgICAgICAgICAgICAgICAgIGkrPXByaW1lc1tqXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgZm9yKGk9MDtpPG4tbSsxO2krKyl7CiAgICAgICAgICAgIGlmKGlzcHJpbWVbaV09PTEpewogICAgICAgICAgICAgICAgcHJpbnRmKCIlbGRcbiIsaSttKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBwcmludGYoIlxuIik7CiAgICB9CiAgICByZXR1cm4gMDsKfQoK