#include <bits/stdc++.h>
using namespace std;
int prime[200], np, flag[200];
int q[5000000], d[5000000], f[5000000];
int main() {
  int l, r, p, i, j, k, t, ans, tmp, cnt = 0;
  scanf("%d%d%d", &l, &r, &p);
  np = 0;
  for (i = 2; i <= p; i++) {
    if (flag[i]) continue;
    prime[np++] = i;
    for (j = i; j <= p; j += i) flag[j] = 1;
  }
  q[0] = 1;
  d[0] = 0;
  f[0] = 0;
  t = 1;
  for (i = 0; i < np; i++) {
    k = t;
    for (j = 0; j < k; j++) {
      tmp = q[j];
      while ((long long)tmp * prime[i] <= r) {
        tmp *= prime[i];
        q[t++] = tmp;
      }
    }
  }
  sort(q, q + t);
  d[0] = 0;
  f[0] = 1;
  for (i = 1; i < t; i++) d[i] = 1000000000;
  for (i = 2; i <= p; i++) {
    for (j = k = 0;; j++) {
      tmp = q[j] * i;
      while (k < t && q[k] < tmp) k++;
      if (k == t) break;
      if (q[k] == tmp && d[k] > d[j] + 1) {
        d[k] = d[j] + 1;
        if (d[k] + i <= p) f[k] = 1;
      }
    }
  }
  ans = 0;
  for (i = 0; i < t; i++)
    if (q[i] >= l && f[i]) ans++;
  printf("%d\n", ans);
  return 0;
}
