#include <bits/stdc++.h>
#pragma GCC optimize("O3")
using namespace std;
long long n, m, k;
long long solve(long long x) {
  x--;
  long long res = 0;
  for (int i = 1; i <= n; i++) res += min(m, x / i);
  return res;
}
int main() {
  ios::sync_with_stdio(0);
  cin >> n >> m >> k;
  long long s = 1, e = n * m, mid;
  while (s <= e) {
    mid = (s + e) / 2;
    if (solve(mid) < k)
      s = mid + 1;
    else
      e = mid - 1;
  }
  cout << e << endl;
  return 0;
}
