#include <bits/stdc++.h>
using namespace std;
long long a, b, k;
int zle;
bool bylo = false;
vector<int> p;
bool Pier(int x) {
  for (int i = 2; i * i <= x; ++i)
    if (x % i == 0) return false;
  return true;
}
void Gen(long long ilo, long long znak, int nr, int ogr) {
  zle += znak * (ogr / ilo);
  for (int i = nr + 1; i < p.size(); ++i)
    if (ilo * p[i] <= ogr) Gen(ilo * p[i], -znak, i, ogr);
}
int Ile(int kon) {
  if (kon == 0) return 0;
  if (k * k > kon) {
    if (k <= kon) return 1;
    return 0;
  }
  if (!bylo) {
    vector<bool> P(k, true);
    P[0] = P[1] = false;
    for (int i = 2; i < k; ++i)
      if (P[i])
        for (int j = 2 * i; j < k; j += i) P[j] = false;
    for (int i = 0; i < k; ++i)
      if (P[i]) p.push_back(i);
    bylo = true;
  }
  zle = 0;
  for (int i = 0; i < p.size(); ++i)
    if (p[i] * k <= kon) Gen(p[i] * k, 1, i, kon);
  int wsz = kon / k;
  return wsz - zle;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin >> a >> b >> k;
  if (!Pier(k)) {
    cout << "0";
    return 0;
  }
  cout << Ile(b) - Ile(a - 1);
  return 0;
}
