#include<bits/stdc++.h>
using namespace std;
int f[100005],a,b,p,c[100005],v[100005],ans;
bool judge(int x){
if(x==2)return 1;
if(x<2)return 0;
if(x%2==0)return 0;
for(int i=3;i<=sqrt(x);i+=2)
if(x%i==0)return 0;
return 1;
}
int find(int x){
if(f[x]==x)return f[x];
return f[x]=find(x);
}
int main(){
cin>>a>>b>>p;
for(int i=1;i<=b;i++)f[i]=i;
for(int i=p;i<=b;i++){
if(c[i])continue;
if(judge(i)){
c[i]=1;
for(int j=2;j*i<=b;j++){
c[i*j]=1;
if(j*i<a)continue;
int x=find(i),y=find(i*j);
if(x!=y)f[x]=y;
}
}
}
for(int i=a;i<=b;i++)
if(!v[find(i)]){
v[find(i)]=1;
ans++;
}
cout<<ans<<endl;
}