#include <bits/stdc++.h>
using namespace std;
long long i, j;
long long N, M, K;
bool check(long long foo) {
  long long temp = 0;
  for (i = 1; i <= N; i++) temp += min(M, (foo - 1) / i);
  if (temp >= K)
    return false;
  else
    return true;
}
int main() {
  scanf("%lld%lld%lld", &N, &M, &K);
  long long L = 1, R = N * M;
  long long ans = -1;
  while (L <= R) {
    long long mid = (L + (R - L) / 2);
    if (check(mid)) {
      ans = mid;
      L = mid + 1;
    } else
      R = mid - 1;
  }
  printf("%lld\n", ans);
  return 0;
}
