#include<bits/stdc++.h>
using namespace std;
bool primes[1000001];
int prime[300000] = {};
int idx = 0;
int angka[1000001];
void sieve(int n){
for(int i=2; i*i<=n; i++){
if(primes[i]){
for(int j=i*i; j<=n; j+=i){
primes[j]=false;
}
}
}
}
int degree(int n){
float sq= sqrt(n);
int count=0;
if(primes[n]) return 1;
for(long long i=0; prime[i]<=sq && n != 1; i++ ){
bool nope=false;
if(n%prime[i]==0) {
while(n%prime[i]==0){
if(nope) return 0;
n/=prime[i];
nope = true;
}
count++;
if(primes[n]) {
count++;
n = 1;
}
}
if(n==0) return count;
}
return count;
}
int main(){
memset(primes, 1, sizeof(primes));
sieve(1000000);
for(int i = 2; i < 1000001; i++) {
if(primes[i]) {
prime[idx++] = i;
}
}
angka[1]= -1;
for(int i=2; i<1000001; i++){
angka[i]=degree(i);
// printf("%d %d\n",i,angka[i]);
}
int t;
scanf("%d",&t);
for(int ti=1; ti<=t; ti++){
int l,r,k;
int cnt=0;
scanf("%d %d %d",&l,&r,&k);
for(int i=l; i<=r; i++){
if(angka[i]==k){
cnt++;
}
}
printf("Case #%d: %d\n",ti,cnt);
}
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgcHJpbWVzWzEwMDAwMDFdOwppbnQgcHJpbWVbMzAwMDAwXSA9IHt9OwppbnQgaWR4ID0gMDsKCmludCBhbmdrYVsxMDAwMDAxXTsKCnZvaWQgc2lldmUoaW50IG4pewoJZm9yKGludCBpPTI7IGkqaTw9bjsgaSsrKXsKCQlpZihwcmltZXNbaV0pewoJCQlmb3IoaW50IGo9aSppOyBqPD1uOyBqKz1pKXsKCQkJCXByaW1lc1tqXT1mYWxzZTsKCQkJfQkKCQl9Cgl9Cn0KCmludCBkZWdyZWUoaW50IG4pewoJZmxvYXQgc3E9IHNxcnQobik7CglpbnQgY291bnQ9MDsKCWlmKHByaW1lc1tuXSkgcmV0dXJuIDE7Cglmb3IobG9uZyBsb25nIGk9MDsgcHJpbWVbaV08PXNxICYmIG4gIT0gMTsgaSsrICl7CgkJYm9vbCBub3BlPWZhbHNlOwoJCWlmKG4lcHJpbWVbaV09PTApIHsKCQkJd2hpbGUobiVwcmltZVtpXT09MCl7CgkJCQlpZihub3BlKSByZXR1cm4gMDsKCQkJCW4vPXByaW1lW2ldOwoJCQkJbm9wZSA9IHRydWU7CgkJCX0KCQkJY291bnQrKzsKCQkJaWYocHJpbWVzW25dKSB7CgkJCQljb3VudCsrOwoJCQkJbiA9IDE7CgkJCX0gCgkJfQoJCWlmKG49PTApIHJldHVybiBjb3VudDsKCX0KCXJldHVybiBjb3VudDsKfQoKaW50IG1haW4oKXsKCW1lbXNldChwcmltZXMsIDEsIHNpemVvZihwcmltZXMpKTsKCXNpZXZlKDEwMDAwMDApOwoJCglmb3IoaW50IGkgPSAyOyBpIDwgMTAwMDAwMTsgaSsrKSB7CgkJaWYocHJpbWVzW2ldKSB7CgkJCXByaW1lW2lkeCsrXSA9IGk7CgkJfQoJfQoJCglhbmdrYVsxXT0gLTE7Cglmb3IoaW50IGk9MjsgaTwxMDAwMDAxOyBpKyspewoJCWFuZ2thW2ldPWRlZ3JlZShpKTsKCS8vCXByaW50ZigiJWQgJWRcbiIsaSxhbmdrYVtpXSk7Cgl9CgkKCWludCB0OwoJc2NhbmYoIiVkIiwmdCk7Cglmb3IoaW50IHRpPTE7IHRpPD10OyB0aSsrKXsKCQlpbnQgbCxyLGs7CgkJaW50IGNudD0wOwoJCXNjYW5mKCIlZCAlZCAlZCIsJmwsJnIsJmspOwoJCWZvcihpbnQgaT1sOyBpPD1yOyBpKyspewoJCQlpZihhbmdrYVtpXT09ayl7CgkJCQljbnQrKzsKCQkJfQoJCX0KCQlwcmludGYoIkNhc2UgIyVkOiAlZFxuIix0aSxjbnQpOwoJfQp9