#include <bits/stdc++.h>
using namespace std;
const int N = 3000000 + 7;
int l, r, p, A[N], tot, Dp[N], W[N];
int Prime[N], Cnt;
bool No_Prime[N], Book[N];
inline void Init(int n) {
  No_Prime[1] = 1;
  for (int i = 2; i <= n; (++(i))) {
    if (!No_Prime[i]) Prime[(++(Cnt))] = i;
    for (int j = 1; Prime[j] * i <= n && j <= Cnt; (++(j))) {
      No_Prime[i * Prime[j]] = 1;
      if (i % Prime[j] == 0) break;
    }
  }
}
inline void DFS(int x, int Dep) {
  A[(++(tot))] = x;
  for (int i = (Dep), iLimit = (Cnt); i <= iLimit; (++(i)))
    if (1ll * x * Prime[i] <= r) DFS(x * Prime[i], i);
}
int main() {
  scanf("%d%d%d", &l, &r, &p);
  Init(p);
  DFS(1, 1);
  sort(A + 1, A + 1 + tot);
  int Ans = 0, i, j;
  memset(Dp, 127, sizeof(Dp));
  Dp[1] = 0;
  for (int k = (1), kLimit = (p); k <= kLimit; (++(k))) {
    j = 1;
    for (int t = (1), tLimit = (tot); t <= tLimit; (++(t))) {
      while (j <= tot && A[j] != A[t] * k) (++(j));
      if (j > tot) break;
      if (Dp[j] > Dp[t] + 1) Dp[j] = Dp[t] + 1, W[j] = k;
      if (A[j] >= l && Dp[j] + W[j] <= p && !Book[j]) Book[j] = 1, (++(Ans));
    }
  }
  printf("%d", Ans);
  return 0;
}
