#include <iostream>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
#define ll long long
const int maxn=1000005;
int vis[maxn],sign[maxn];
void init()
{
memset(vis,true,sizeof(vis));
for(int i=2;i<=maxn;i++)
if(vis[i])
for(int j=2;j*i<=maxn;j++)
vis[i*j]=false;
}
bool ok(int x)
{
int k=0;
while(x)
{
k+=x%10;
x/=10;
}
return vis[k];
}
int main()
{
init();
int t;
cin>>t;
for(int i=2;i<=maxn;i++)
if(vis[i]&&ok(i))
sign[i]=1;
for(int i=2;i<=maxn;i++) sign[i]+=sign[i-1];
while(t--)
{
int i,j;
scanf("%d%d",&i,&j);
printf("%d\n",sign[j]-sign[i-1]);
}
return 0;
}