#include <bits/stdc++.h>
using namespace std;
#pragma GCC optimize("Ofast,no-stack-protector")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#pragma GCC optimize("unroll-loops")
long long fun(long long n, long long m, long long mid) {
  long long val = 0;
  for (long long i = 1; i <= n; i++) val += min(m, (mid - 1) / i);
  return val;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long tst = 1;
  for (long long tt = 1; tt <= tst; tt++) {
    long long n, m, k;
    cin >> n >> m >> k;
    long long l = 1, r = (n * m) + 1;
    while (l < r) {
      long long mid = (l + r) / 2;
      if (fun(n, m, mid) < k)
        l = mid + 1;
      else
        r = mid;
    }
    cout << l - 1 << endl;
  }
  return 0;
}
