#include <bits/stdc++.h>
using namespace std;
const int N = 1e5;
int a, b, p, cnt;
int fa[N+10];
bool vis[N+10];
void init() {
cnt = b-a+1;
for(int i = a; i <= b; i++) fa[i] = i;
vis[1] = true;
for(int i = 2; i <= b; i++) {
if(vis[i] == false)
for(int j = i*2; j <= b; j += i)
vis[j] = true;
}
}
int find(int x) {
if(fa[x] == x) return x;
return fa[x] = find(fa[x]);
}
void merge(int x, int y) {
x = find(x); y = find(y);
if(x == y) return;
fa[x] = y;
cnt--;
}
int main() {
cin >> a >> b >> p;
init();
for(int i = p; i <= b; i++) {
if(vis[i] == false) {
int hj = -1;
for(int j = i*2; j <= b; j += i) {
if(j >= a) {
if(hj == -1) {
hj = j;
} else {
merge(hj, j);
}
}
}
}
}
cout << cnt;
return 0;
}