#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int, int> ii;
const int INF = 1e9;
const ll LINF = 1e18;
ll n, m, k;
// x càng lớn thì số thứ tự của x càng lớn
// Số thứ tự của x có >= k hay không
// Số thứ tự của x = (số thằng có trong bảng <= x)
bool check(ll x) {
// vì n * m <= 1e9 => min(n, m) <= sqrt(1e9)
// nên mình for theo min(n, m) để tiết kiệm thời gian
// ở đây giả sử như n <= m, nếu n > m thì ta swap n, m cho nhau
ll cnt = 0;
for (ll i = 1; i <= n && i * i <= x; i++) {
// => j^2 <= x - i^2
// <=> j <= sqrt(x - i^2)
ll j = sqrt(x - i * i);
j = min(j, m);
cnt += j;
}
return (cnt >= k);
}
int main() {
ios::sync_with_stdio(0); cin.tie(0);
cin >> n >> m >> k;
if (n > m) swap(n, m);
ll l = 2, r = n * n + m * m, ans = -1;
while (l <= r) {
ll mid = (l + r) >> 1;
if (check(mid)) {
ans = mid;
r = mid - 1;
}
else {
l = mid + 1;
}
}
cout << ans << '\n';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+IAp1c2luZyBuYW1lc3BhY2Ugc3RkOyAgCgp0eXBlZGVmIGxvbmcgbG9uZyBsbDsgIAp0eXBlZGVmIHBhaXI8aW50LCBpbnQ+IGlpOyAgCgpjb25zdCBpbnQgSU5GID0gMWU5OyAgCmNvbnN0IGxsIExJTkYgPSAxZTE4OyAgCgpsbCBuLCBtLCBrOyAKCi8vIHggY8OgbmcgbOG7m24gdGjDrCBz4buRIHRo4bupIHThu7EgY+G7p2EgeCBjw6BuZyBs4bubbgovLyBT4buRIHRo4bupIHThu7EgY+G7p2EgeCBjw7MgPj0gayBoYXkga2jDtG5nIAovLyBT4buRIHRo4bupIHThu7EgY+G7p2EgeCA9IChz4buRIHRo4bqxbmcgY8OzIHRyb25nIGLhuqNuZyA8PSB4KQpib29sIGNoZWNrKGxsIHgpIHsKCS8vIHbDrCBuICogbSA8PSAxZTkgPT4gbWluKG4sIG0pIDw9IHNxcnQoMWU5KQoJLy8gbsOqbiBtw6xuaCBmb3IgdGhlbyBtaW4obiwgbSkgxJHhu4MgdGnhur90IGtp4buHbSB0aOG7nWkgZ2lhbiAKCS8vIOG7nyDEkcOieSBnaeG6oyBz4butIG5oxrAgbiA8PSBtLCBu4bq/dSBuID4gbSB0aMOsIHRhIHN3YXAgbiwgbSBjaG8gbmhhdSAKCWxsIGNudCA9IDA7IAoJZm9yIChsbCBpID0gMTsgaSA8PSBuICYmIGkgKiBpIDw9IHg7IGkrKykgewoJCS8vICA9PiBqXjIgPD0geCAtIGleMiAgCgkJLy8gPD0+IGogPD0gc3FydCh4IC0gaV4yKQoJCWxsIGogPSBzcXJ0KHggLSBpICogaSk7CgkJaiA9IG1pbihqLCBtKTsgCgkJY250ICs9IGo7IAoJfQoJcmV0dXJuIChjbnQgPj0gayk7IAp9CgppbnQgbWFpbigpIHsKCWlvczo6c3luY193aXRoX3N0ZGlvKDApOyBjaW4udGllKDApOyAgCQoJY2luID4+IG4gPj4gbSA+PiBrOyAgCgkKCWlmIChuID4gbSkgc3dhcChuLCBtKTsgIAoKCWxsIGwgPSAyLCByID0gbiAqIG4gKyBtICogbSwgYW5zID0gLTE7ICAKCXdoaWxlIChsIDw9IHIpIHsKCQlsbCBtaWQgPSAobCArIHIpID4+IDE7IAoJCWlmIChjaGVjayhtaWQpKSB7CgkJCWFucyA9IG1pZDsgIAoJCQlyID0gbWlkIC0gMTsgCgkJfQoJCWVsc2UgewoJCQlsID0gbWlkICsgMTsgCgkJfQoJfQoKCWNvdXQgPDwgYW5zIDw8ICdcbic7IAp9