#include <bits/stdc++.h>
using namespace std;
const long long mxn = 2e5 + 1;
const long long mod = 1e9 + 7;
const long long inf = 1e18;
const long double eps = 1e-9;
const long double PI = acos(-1);
inline void joji(bool ok = 0) {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  if (ok) {
    freopen(
        "pe"
        ".in",
        "r", stdin);
    freopen(
        "pe"
        ".out",
        "w", stdout);
  }
}
int64_t n, m;
int64_t f(int64_t x) {
  int64_t ans = 0;
  for (int64_t i = 1; i <= n; i++) ans += min(m, x / i);
  return ans;
}
signed main() {
  joji();
  int64_t k;
  cin >> n >> m >> k;
  int64_t l = 1, r = n * m + 1;
  while (l < r) {
    int64_t mid = (l + r) >> 1;
    if (f(mid - 1) < k)
      l = mid + 1;
    else
      r = mid;
  }
  cout << l - 1;
  return 0;
}
