#include <bits/stdc++.h>
using namespace std;
const int N = 300000 + 7;
const int M = 59;
const int mid = M / 2;
const int mod = 1e9 + 9;
const int inf = 1e9 + 7;
const long long linf = 1ll * inf * inf;
const double pi = acos(-1);
const double eps = 1e-7;
const double ep = 1e-5;
const int maxn = 1e5 + 7;
const double PI = acos(-1);
map<int, char> ans;
bitset<1000000001> res;
void solve() {
  ans.insert(make_pair(1, 0));
  int l, r, p;
  cin >> l >> r >> p;
  for (int i = (2); i < (p + 1); i++) {
    while (!ans.empty() && (long long)ans.rbegin()->first * i > r)
      ans.erase(ans.rbegin()->first);
    for (__typeof((ans).begin()) it = (ans).begin(); it != (ans).end(); it++) {
      int z = it->first * i;
      char can = it->second + 1;
      if (z >= l && can + i <= p) {
        res[z] = 1;
      }
      if (can + i <= p && (long long)z * i <= r) {
        __typeof((ans).begin()) jt = ans.insert(make_pair(z, 120)).first;
        jt->second = min(jt->second, can);
      }
    }
  }
  cout << res.count();
}
int main() {
  int T = 1;
  for (int i = (1); i < (T + 1); i++) {
    solve();
  }
}
