#include <bits/stdc++.h>
using namespace std;
const int Maxn = 3000005, inf = 999999999 + 208;
int l, r, p, tot, n, ans;
int num[Maxn], f[Maxn], pr[30];
bool flag[Maxn];
bool isprime(int x) {
  for (int i = 2; i * i <= x; i++)
    if (x % i == 0) return false;
  return true;
}
void dfs(int x, long long v) {
  if (x > tot)
    num[++n] = v, f[n] = inf;
  else {
    for (; v <= r; v *= pr[x]) dfs(x + 1, v);
  }
}
int main() {
  cin >> l >> r >> p;
  for (int i = 2; i <= p; i++)
    if (isprime(i)) pr[++tot] = i;
  dfs(1, 1);
  sort(num + 1, num + n + 1);
  f[1] = 0;
  flag[1] = 1;
  for (int i = 2; i < p; i++) {
    for (int j = 1, w = 1; num[j] * i <= num[n]; j++) {
      while (num[w] < num[j] * i) w++;
      f[w] = min(f[w], f[j] + 1);
      if (f[w] + i <= p) flag[w] = 1;
    }
  }
  for (int i = 1; i <= n; i++)
    if (flag[i] && num[i] >= l) ans++;
  cout << ans << endl;
  return 0;
}
