#include <bits/stdc++.h>
using namespace std;
const int SMAX = 98, PMAX = 25, CMAX = 2944729, INF = 987654321;
int prime[PMAX], power[PMAX], cand[CMAX], d[CMAX];
bool sieve[SMAX], check[CMAX];
int main() {
  int i, j, k, t, ccnt, l, r, p, pcnt, ans;
  scanf("%d%d%d", &l, &r, &p);
  for (i = 2; i <= p; i++) sieve[i] = 1;
  pcnt = 0;
  for (i = 2; i <= p; i++)
    if (sieve[i]) {
      prime[pcnt++] = i;
      for (j = i + i; j <= p; j += i) sieve[j] = 0;
    }
  t = 1;
  ccnt = 0;
  while (1) {
    for (i = 0; i < pcnt; i++) {
      if (t <= r / prime[i]) {
        power[i]++;
        t *= prime[i];
        break;
      }
      while (power[i]--) t /= prime[i];
      power[i]++;
    }
    if (i == pcnt) break;
    cand[ccnt++] = t;
  }
  sort(cand, cand + ccnt);
  ans = 0;
  fill(d, d + ccnt, INF);
  for (i = 2; i <= p; i++) {
    for (j = 0; cand[j] <= i; j++) d[j] = 1;
    k = 0;
    for (j = 0; j < ccnt; j++) {
      for (; k < ccnt && cand[k] != cand[j] * i; k++)
        ;
      if (k == ccnt) break;
      if (d[k] > d[j] + 1) d[k] = d[j] + 1;
    }
    for (j = 0; j < ccnt && cand[j] < l; j++)
      ;
    for (; j < ccnt; j++)
      if (!check[j] && d[j] + i <= p) {
        check[j] = 1;
        ans++;
      }
  }
  printf("%d", ans);
  return 0;
}
