#include <bits/stdc++.h>
using namespace std;
long long n, m, k;
int main() {
  cin >> n >> m >> k;
  long long l = 1, r = n * m;
  while (l <= r) {
    long long mid = l + (r - l) / 2;
    long long cnt = 0, occ = 0;
    for (long long i = 1; i <= n; ++i) {
      if (i > mid) break;
      if ((mid) % i == 0 && mid <= i * m) {
        occ++;
      }
      if (mid > i * m) {
        cnt += m;
      } else {
        cnt += ceil((double)(mid) / i) - 1;
      }
    }
    if (cnt <= k - 1 && cnt + occ >= k) {
      cout << mid;
      return 0;
    } else if (cnt > k - 1) {
      r = mid - 1;
    } else {
      l = mid + 1;
    }
  }
  return 0;
}
