#include <bits/stdc++.h>
using namespace std;
long long int n, m, k;
bool check(long long int t) {
  long long int cntl = 0, cnte = 0;
  for (long long int i = 1; i <= n; i++) {
    cntl += min(m, (t - 1) / i);
    if (t % i == 0 && t / i <= m) {
      cnte++;
    }
  }
  return (cnte + cntl >= k);
}
long long int binarysearch(long long int s, long long int e) {
  long long int ans = -1;
  while (s <= e) {
    long long int mid = s + (e - s) / 2;
    if (check(mid)) {
      ans = mid;
      e = mid - 1;
    } else
      s = mid + 1;
  }
  return ans;
}
int main() {
  cin >> n >> m >> k;
  cout << binarysearch(1, n * m);
  return 0;
}
