#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m, k;
cin >> n >> m >> k;
// для каждой строки календаря — отрезок заполненных столбцов [lo, hi]
vector<int> lo, hi;
for (int d = 0; d < n; d++) {
int r = (k - 1 + d) / m;
int c = (k - 1 + d) % m;
if (r == (int)lo.size()) { // началась новая строка
lo.push_back(c);
hi.push_back(c);
} else {
hi[r] = c; // строка продолжается вправо
}
}
int rows = lo.size();
int best = 0;
for (int top = 0; top < rows; top++) {
int L = lo[top], H = hi[top];
for (int bot = top; bot < rows; bot++) {
L = max(L, lo[bot]); // общая часть всех строк от top до bot
H = min(H, hi[bot]);
if (L > H) break;
best = max(best, (bot - top + 1) * (H - L + 1));
}
}
cout << best << "\n";
return 0;
}