#include <bits/stdc++.h>
using namespace std;
long long w, h, k;
long long eval(long long x, long long y) {
  return (w / (x + 1)) * (h / (y + 1));
}
int main() {
  cin >> w >> h >> k;
  if (k > (w - 1) + (h - 1)) {
    cout << -1 << endl;
    return 0;
  }
  long long x1 = min(w - 1, k);
  long long y1 = k - x1;
  long long y2 = min(h - 1, k);
  long long x2 = k - y2;
  cout << max(eval(x1, y1), eval(x2, y2)) << endl;
}
