#include<cstdio>
//#include<string.h> 一般来说,只要有字符串处理,最好都加上,但此题用不到,可以不用加
int a[1000010]={1,1};
int b[1000010]={0,0};
void f()
{
int i,j;
for(i=2;i*i<=1000010;i++)
{ if(!a[i])
{ for(j=i*i;j<=1000010;j+=i)
a[j]=1; //打表
}
}
}
int sum(int a)
{
int t,s;
for(s=0;a>0;a/=10)
{
t=a%10;
s+=t;
}
return s;
}
int main()
{
int l,r,T,c,i;
f(); //调用,没有调用答案 错误
for(i=2;i<=1000010;i++)
{
if(a[i]==0&&a[sum(i)]==0)
b[i]=b[i-1]+1;
else
b[i]=b[i-1];
}
scanf("%d",&T);
for(c=1;c<=T;c++)
{
scanf("%d%d",&l,&r);
printf("Case #%d: %d\n",c,b[r]-b[l-1]);
}
return 0;
}