#include <bits/stdc++.h>
using namespace std;
int l, r, p, prime[200], pri[200], a[3000000], f[3000000], ans[3000000];
void dfs(int now, int val) {
  if (now == pri[0]) return;
  dfs(now + 1, val);
  for (int i = 1;; i++) {
    if (val > r / pri[now + 1]) break;
    val *= pri[now + 1];
    if (val > r) break;
    a[++a[0]] = val;
    dfs(now + 1, val);
  }
}
int main() {
  cin >> l >> r >> p;
  for (int i = 2; i <= p; i++)
    if (!prime[i]) {
      pri[++pri[0]] = i;
      for (int j = i + i; j <= p; j += i) prime[j] = 1;
    }
  dfs(0, 1);
  a[++a[0]] = 1;
  sort(a + 1, a + 1 + a[0]);
  memset(f, 1, sizeof f);
  f[1] = 0;
  for (int i = 2; i <= p; i++) {
    int k = 1;
    for (int j = 1; j <= a[0]; j++)
      if (a[j] % i == 0) {
        if (f[k] + 1 < f[j]) f[j] = f[k] + 1;
        if (f[j] + i <= p) ans[j] = 1;
        k++;
      }
  }
  int anscnt = 0;
  for (int i = 1; i <= a[0]; i++)
    if (ans[i] && a[i] >= l && a[i] <= r) anscnt++;
  printf("%d\n", anscnt);
}
