#include <bits/stdc++.h>
using namespace std;
const int INF = 120;
const int MX = 1000000001;
bitset<MX> S;
int main(void) {
  int L, R, P;
  scanf("%d%d%d", &L, &R, &P);
  map<int, char> ma;
  ma[1] = 0;
  for (int p = 2; p < P; ++p) {
    while (!ma.empty() && (long long)p * (--ma.end())->first > R) {
      ma.erase(--ma.end());
    }
    for (__typeof((ma).begin()) it = (ma).begin(); it != (ma).end(); ++it) {
      int z = it->first * p;
      char can = it->second + 1;
      if (z >= L && can + p <= P) {
        S[z] = 1;
      }
      if ((long long)z * p <= R) {
        map<int, char>::iterator jt = ma.insert(make_pair(z, INF)).first;
        jt->second = min(jt->second, can);
      }
    }
  }
  printf("%d\n", S.count());
  return 0;
}
