#include <bits/stdc++.h>
using namespace std;
inline long long read() {
  long long f = 1, x = 0;
  char ch;
  do {
    ch = getchar();
    if (ch == '-') f = -1;
  } while (ch < '0' || ch > '9');
  do {
    x = x * 10 + ch - '0';
    ch = getchar();
  } while (ch >= '0' && ch <= '9');
  return f * x;
}
long long n, m, k, l, r, s;
long long check(long long p) {
  long long q = 0;
  for (register int i = 1; i <= n; ++i) {
    q += min(m, p / i);
  }
  return q;
}
int main() {
  cin >> n >> m >> k;
  l = 0;
  r = n * m;
  while (l < r) {
    s = check((l + r) / 2);
    if (s < k)
      l = (l + r) / 2 + 1;
    else
      r = (l + r) / 2;
  }
  cout << r;
  return 0;
}
