#include<bits/stdc++.h>
using namespace std;
int a,b,p1,cnt=0;
int fa[100000+10];
bool c[100000+10];
bool p[100000+10];
int z[100000+10];
void gp(int r){
int i,j;
for(i=2;i<=r;i++){
if(!p[i]) z[++cnt]=i;
for(j=1;j<=cnt && i*z[j]<=r;j++){
p[i*z[j]]=true;
if(i%z[j]==0) break;
}
}
}
int findfather(int v){
if(fa[v]==v) return fa[v];
else {
fa[v]=findfather(fa[v]);
return fa[v];
}
}
void ma(int x,int y){
int l=findfather(x),r=findfather(y);
if(l!=r) fa[r]=l;
return ;
}
int main(){
scanf("%d%d%d",&a,&b,&p1);
p[1]=true;
gp(b);
for(int i=a;i<=b;i++) fa[i]=i;
for(int i=a;i<=b;i++){
for(int j=i+1;j<=b;j++){
int d=__gcd(i,j);
if(p[d]) continue;
if(d>=p1){
ma(i,j);
}
}
}
int ans=0;
for(int i=a;i<=b;i++){
int ff=findfather(i);
if(!c[ff]){
ans++;
c[ff]=true;
}
}
printf("%d",ans);
return 0;
}
求助QAQ