#include<cstdio>
using namespace std;
const int MAXB=100005;
int fa[MAXB];
bool isprime[MAXB];
int myfind(int x) {
if(x==fa[x])
return x;
fa[x]=myfind(fa[x]);
return fa[x];
}
int main() {
int a,b,p;
scanf("%d %d %d",&a,&b,&p);
for(int i=2;i<=b;i++) {
fa[i]=i;
isprime[i]=true;
}
for(int i=2;i<=b;i++) {
if(!isprime[i])
continue;
for(int j=i+i;j<=b;j+=i) {
isprime[j]=false;
if(i>=p)
fa[myfind(i)]=myfind(j);
}
}
int cnt=0;
for(int i=a;i<=b;i++) {
if(fa[i]==i)
cnt++;
}
printf("%d",cnt);
return 0;
}