#include <bits/stdc++.h>
using namespace std;
const int N = int(5e6), inf = ~0U >> 2;
int axis[N], times[N], vis[N], able[N], l, r, p, cnt;
int main() {
  scanf("%d%d%d", &l, &r, &p);
  axis[cnt = 1] = 1;
  for (int i = 2; i <= p; ++i) {
    bool pr = true;
    for (int j = 2; j < i; ++j)
      if (i % j == 0) {
        pr = false;
        break;
      }
    if (!pr) continue;
    for (int j = 1, je = cnt, cur; j <= je; ++j) {
      cur = axis[j];
      while ((long long)cur * i <= r) axis[++cnt] = (cur *= i);
    }
  }
  sort(axis + 1, axis + 1 + cnt);
  vis[1] = 1;
  for (int i = 2; i <= p; ++i) {
    for (int j = 1, k = 2; j <= cnt; ++j) {
      while (k <= cnt && axis[k] < axis[j] * i) ++k;
      if (k > cnt) break;
      if (!vis[j]) continue;
      if (axis[j] * i == axis[k])
        if (!vis[k] || times[j] + 1 < times[k]) {
          vis[k] = 1;
          times[k] = times[j] + 1;
          if (times[k] + i <= p) able[k] = 1;
        }
    }
  }
  int res = 0;
  for (int i = 1; i <= cnt; ++i) res += axis[i] >= l && able[i];
  printf("%d\n", res);
}
