#include <cstdio>
#include <cstring>
#define maxab 1000003
#define maxlv 13
using namespace std;
bool isPrime[maxab];
int sumP[maxab],lv[maxab],c[maxab][maxlv];
int getlv(int i){
if ((lv[i]>0)||(i<=1)) return lv[i];
else {
lv[i]=getlv(sumP[i])+1;
return lv[i];
}
}
void init(){
memset(isPrime,true,sizeof(isPrime));
memset(lv,0,sizeof(lv));
int i,j; isPrime[0]=false; isPrime[1]=false;
for (int i=2;i<maxab;i++) if (isPrime[i]==true){
sumP[i]=i;
lv[i]=1;
for (j=2;(i*j)<=maxab;j++){
isPrime[i*j]=false;
sumP[i*j]+=i;
}
}
for (i=2;i<maxab;i++) getlv(i);
for (i=0;i<=1;i++) for (j=0;j<maxlv;j++) c[i][j]=0;
for (i=2;i<maxab;i++){
for (j=0;j<maxlv;j++) c[i][j]=c[i-1][j];
c[i][lv[i]]++;
}
}
int main(){
init();
int ntest,test,a,b,k;
scanf("%d",&ntest);
for (test=1;test<=ntest;test++){
scanf("%d%d%d",&a,&b,&k);
if (k>=maxlv) printf("0");
else{
printf("%d",c[b][k]-c[a-1][k]);
}
if (test<ntest) printf("\n");
}
return 0;
}
I2luY2x1ZGUgPGNzdGRpbz4KI2luY2x1ZGUgPGNzdHJpbmc+CiNkZWZpbmUgbWF4YWIgMTAwMDAwMwojZGVmaW5lIG1heGx2IDEzCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgaXNQcmltZVttYXhhYl07CmludCBzdW1QW21heGFiXSxsdlttYXhhYl0sY1ttYXhhYl1bbWF4bHZdOwppbnQgZ2V0bHYoaW50IGkpewogICAgaWYgKChsdltpXT4wKXx8KGk8PTEpKSByZXR1cm4gbHZbaV07CiAgICBlbHNlIHsKICAgICAgICBsdltpXT1nZXRsdihzdW1QW2ldKSsxOwogICAgICAgIHJldHVybiBsdltpXTsKICAgIH0KfQp2b2lkIGluaXQoKXsKICAgIG1lbXNldChpc1ByaW1lLHRydWUsc2l6ZW9mKGlzUHJpbWUpKTsKICAgIG1lbXNldChsdiwwLHNpemVvZihsdikpOwogICAgaW50IGksajsgICAgaXNQcmltZVswXT1mYWxzZTsgICBpc1ByaW1lWzFdPWZhbHNlOwogICAgZm9yIChpbnQgaT0yO2k8bWF4YWI7aSsrKSBpZiAoaXNQcmltZVtpXT09dHJ1ZSl7CiAgICAgICAgc3VtUFtpXT1pOwogICAgICAgIGx2W2ldPTE7CiAgICAgICAgZm9yIChqPTI7KGkqaik8PW1heGFiO2orKyl7CiAgICAgICAgICAgIGlzUHJpbWVbaSpqXT1mYWxzZTsKICAgICAgICAgICAgc3VtUFtpKmpdKz1pOwogICAgICAgIH0KICAgIH0KICAgIGZvciAoaT0yO2k8bWF4YWI7aSsrKSBnZXRsdihpKTsKICAgIGZvciAoaT0wO2k8PTE7aSsrKSBmb3IgKGo9MDtqPG1heGx2O2orKykgY1tpXVtqXT0wOwogICAgZm9yIChpPTI7aTxtYXhhYjtpKyspewogICAgICAgIGZvciAoaj0wO2o8bWF4bHY7aisrKSBjW2ldW2pdPWNbaS0xXVtqXTsKICAgICAgICBjW2ldW2x2W2ldXSsrOwogICAgfQp9CmludCBtYWluKCl7CiAgICBpbml0KCk7CiAgICBpbnQgbnRlc3QsdGVzdCxhLGIsazsKICAgIHNjYW5mKCIlZCIsJm50ZXN0KTsKICAgIGZvciAodGVzdD0xO3Rlc3Q8PW50ZXN0O3Rlc3QrKyl7CiAgICAgICAgc2NhbmYoIiVkJWQlZCIsJmEsJmIsJmspOwogICAgICAgIGlmIChrPj1tYXhsdikgcHJpbnRmKCIwIik7CiAgICAgICAgZWxzZXsKICAgICAgICAgICAgcHJpbnRmKCIlZCIsY1tiXVtrXS1jW2EtMV1ba10pOwogICAgICAgIH0KICAgICAgICBpZiAodGVzdDxudGVzdCkgcHJpbnRmKCJcbiIpOwogICAgfQogICAgcmV0dXJuIDA7Cn0K