#include <bits/stdc++.h>
using namespace std;
long long N, M, K, ans;
int main() {
  scanf("%I64d%I64d%I64d", &N, &M, &K);
  ans = -1;
  if (N > K) {
    ans = max(ans, N / (K + 1) * M);
  } else {
    K -= N - 1;
    if (M > K) ans = max(ans, M / (K + 1));
    K += N - 1;
  }
  swap(N, M);
  if (N > K) {
    ans = max(ans, N / (K + 1) * M);
  } else {
    K -= N - 1;
    if (M > K) ans = max(ans, M / (K + 1));
    K += N - 1;
  }
  printf("%I64d", ans);
}
