#include <stdio.h>
//unsigned long long prime[10000000];
int main()
{
long int T,flag;
unsigned long long int L,R,X,D,p,dn,total_div,count_div,k,i,j;
while(T--)
{
count_div = 0;
/*
prime[0]=2;
prime[1]=3;
prime[2]=5;
k=3;
for(i=6;i<=R;i++)
{
flag=0;
for(j=2;j<=sqrt(i);j++)
{
if(i%j == 0)
flag = 1;
}
if(flag == 0)
prime[k++] = i;
}
*/
for(X=L;X<=R;X++)
{
D=X;
//p=0;
p=2;
total_div = 1;
while(D>1)
{
dn=1;
while(D%p == 0) //D%prime[p]
{
dn +=1;
//D=D/prime[p];
D=D/p;
}
total_div *= dn;
if(p % 2 == 0)
p+=1;
else
p+=2;
if(p > (X/2))
{
if(total_div == 1)
total_div +=1;
break;
}
}
if(X != 1 && total_div == 1)
total_div +=1;
if(total_div%2 != 0)
count_div++;
}
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Ci8vdW5zaWduZWQgbG9uZyBsb25nIHByaW1lWzEwMDAwMDAwXTsKaW50IG1haW4oKQp7CiAgICBsb25nIGludCBULGZsYWc7CiAgICB1bnNpZ25lZCBsb25nIGxvbmcgaW50IEwsUixYLEQscCxkbix0b3RhbF9kaXYsY291bnRfZGl2LGssaSxqOwogICAgc2NhbmYoIiVsZCIsJlQpOwogICAgd2hpbGUoVC0tKQogICAgewogICAgCXNjYW5mKCIlbGxkJWxsZCIsJkwsJlIpOwogICAgCWNvdW50X2RpdiA9IDA7CiAgICAJLyoKICAgIAlwcmltZVswXT0yOwogICAgCXByaW1lWzFdPTM7CiAgICAJcHJpbWVbMl09NTsKICAgIAlrPTM7CiAgICAJZm9yKGk9NjtpPD1SO2krKykKICAgIAkgIHsKICAgIAkgIAlmbGFnPTA7CiAgICAJICAgICAgIGZvcihqPTI7ajw9c3FydChpKTtqKyspCiAgICAJICAgICAgIHsKICAgIAkgICAgICAgCSAgaWYoaSVqID09IDApCiAgICAJICAgICAgIAkgICAgZmxhZyA9IDE7CiAgICAJICAgICAgIH0KICAgIAkgICAgICAgaWYoZmxhZyA9PSAwKQogICAgCSAgICAgICAgIHByaW1lW2srK10gPSBpOwogICAgCSAgfQogICAgICAgICovCiAgICAJZm9yKFg9TDtYPD1SO1grKykKICAgIAl7CiAgICAJCUQ9WDsKICAgIAkJLy9wPTA7CiAgICAJCXA9MjsKICAgIAkJdG90YWxfZGl2ID0gMTsKICAgIAkJd2hpbGUoRD4xKQogICAgCQl7CiAgICAJCQlkbj0xOwogICAgCQkgICAgd2hpbGUoRCVwID09IDApICAvL0QlcHJpbWVbcF0KICAgIAkJICAgIHsKICAgIAkJICAgIAlkbiArPTE7CiAgICAJCSAgICAJLy9EPUQvcHJpbWVbcF07CiAgICAJCSAgICAJRD1EL3A7CiAgICAJCSAgICB9CiAgICAJCSAgICB0b3RhbF9kaXYgKj0gZG47CiAgICAJCSAgICAKICAgIAkJICAgIGlmKHAgJSAyID09IDApCiAgICAJCSAgICAgIHArPTE7CiAgICAJCSAgIGVsc2UKICAgIAkJICAgICAgcCs9MjsKICAgIAkJICAgaWYocCA+IChYLzIpKQogICAgCQkgICAgIHsKICAgIAkJICAgICAJaWYodG90YWxfZGl2ID09IDEpCiAgICAJCSAgICAgCSAgdG90YWxfZGl2ICs9MTsKICAgIAkJICAgICAJYnJlYWs7CiAgICAJCSAgICAgfQogICAgCQl9CiAgICAJCWlmKFggIT0gMSAmJiB0b3RhbF9kaXYgPT0gMSkKICAgIAkJICAgdG90YWxfZGl2ICs9MTsKICAgIAkJaWYodG90YWxfZGl2JTIgIT0gMCkKICAgIAkJICAgY291bnRfZGl2Kys7CiAgICAJfQogICAgCXByaW50ZigiJWxsZFxuIixjb3VudF9kaXYpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K