#include<bits/stdc++.h>
using namespace std;
#define int long long
typedef pair<int,int> PII;
const int N = 1e6;
const int INF = 0x7f7f7f7f;
int fa[N + 5];
int a,b,p;
bool st[N + 5];
int primes[N + 5],cnt = 0;
int find(int x) {
if (x == fa[x]) return x;
return find(fa[x]);
}
int un(int x,int y) {
int a = find(x);
int b = find(y);
fa[a] = b;
}
void init() {
for (int i = 2;i <= b;i ++) {
if (!st[i]) primes[cnt ++] = i;
for (int j = 0;primes[j] * i <= b;j ++) {
st[i * primes[j]] = true;
if (i % primes[j] == 0) break;
}
}
}
void solve() {
cin >> a >> b >> p;
init();
// for (int i = 0;i < cnt;i ++) cout << primes[i] << " ";
// cout << endl;
for (int i = a;i <= b;i ++) fa[i] = i;
vector<int> v;
for (int i = 0;i < cnt;i ++) {
v.clear();
if (primes[i] >= p) {
for (int j = primes[i];j <= b;j += primes[i]) if (j >= a) v.push_back(j);
}
for (int j = 1;j < v.size();j ++) un(v[j],v[j - 1]);
}
int res = 0;
for (int i = a;i <= b;i ++) if (find(i) == i) res ++;
printf("%lld",res);
}
signed main() {
std::ios::sync_with_stdio(false), cin.tie(nullptr), cout.tie(nullptr);
int T = 1;//cin >> T;
while (T --) solve();
}