#include <iostream>
#include <vector>
using namespace std;
//注意精度
int main() {
long long n, m, k;
cin >> n >> m >> k;
//在1 ~ n查找target上界
long long l = 1, r = n * m;
while (r > l) {
long long mid = (r - l) / 2 + l;
long long cnt = 0;
for (int i = 1; i <= n; i++) {
cnt += min(m, mid / i);
}
if (cnt >= k) r = mid;
else l = mid + 1;
}
cout << l << endl;
}


京公网安备 11010502036488号