#include <bits/stdc++.h>
using namespace std;
long long int n, m, k;
bool check(long long int x) {
  long long int nt = 0;
  for (long long int i = 1; i <= n; i++) {
    nt += min(m, x / i);
  }
  return nt >= k;
}
int main() {
  scanf("%I64d%I64d%I64d", &n, &m, &k);
  long long int low = 1, high = n * m, ans = -1, mid;
  while (high >= low) {
    mid = (high + low) / 2;
    if (check(mid)) {
      ans = mid;
      high = mid - 1;
    } else
      low = mid + 1;
  }
  printf("%I64d\n", ans);
  return 0;
}
