#include <bits/stdc++.h>
using namespace std;
long long n, m, k, ans;
void setup() {
  cin >> n >> m >> k;
  if (n > m) swap(n, m);
  if (k < n) ans = max(n * (m / (k + 1)), (n / (k + 1)) * m);
  if (n <= k && k < m) ans = n * (m / (k + 1));
  if (k >= m) ans = n / (k + 2 - m);
  cout << (ans > 0 ? ans : -1);
}
void xuly() {}
int main() {
  iostream::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  setup();
  xuly();
  return 0;
}
