#include<bits/stdc++.h>
using namespace std;
int f[100005];
int k[100005];//1代表是素数
int ans[100005];
int find(int x)
{
if(f[x]!=x)
{
return f[x]=find(f[x]);
}
else
{
return f[x];
}
}
void hb(int x,int y)
{
f[find(y)]=find(x);
}
int main()
{
int a,b,p;
cin>>a>>b>>p;
int geshu=0;
int gs=0;
for(int i=2;i<=b;i++)
{
k[i]=1;
}
for(int i=2;i<=b;i++)
{
if(k[i]==1)
{
for(int j=2;j<=b/i;j++)
{
k[i*j]=0;
}
}
}
for(int i=p;i<=b;i++)
{
if(k[i]==1)
{
gs++;
ans[gs]=i;
}
}
for(int i=a;i<=b;i++)
{
f[i]=i;
}
for(int i=a;i<=b;i++)
{
for(int j=a;j<=b;j++)
{
for(int z=1;z<=gs;z++)
{
if(k[ans[z]]==1&&i!=j&&i%ans[z]==0&&j%ans[z]==0)
{
hb(i,j);
}
}
}
}
for(int i=a;i<=b;i++)
{
if(find(i)==i)
{
geshu++;
}
}
cout<<geshu;
}