#include <bits/stdc++.h>
using namespace std;
const double PI = acos(-1.0);
const double e = exp(1.0);
const int inf = 0x3f3f3f3f;
const int INF = 0x7fffffff;
long long n, m, k;
long long check(long long x) {
  long long ret = 0;
  for (int i = 1; i <= n; ++i) {
    long long tmp = min(i * m, x);
    ret += tmp / i;
  }
  return ret;
}
int main() {
  while (~scanf("%I64d %I64d %I64d", &n, &m, &k)) {
    long long l = 1, r = n * m;
    while (l < r) {
      long long mid = (l + r) >> 1;
      long long sum = check(mid);
      if (sum >= k)
        r = mid;
      else
        l = mid + 1;
    }
    printf("%I64d\n", r);
  }
  return 0;
}
