#include <bits/stdc++.h>
using namespace std;
long long n, m, m1, n1, k, temp, x, a, b;
int main() {
  cin >> n >> m >> k;
  m1 = m;
  n1 = n;
  temp = k;
  if (k > n + m - 2) {
    cout << -1;
    return 0;
  }
  if (m - 1 < k) {
    x = k - (m - 1);
    temp = k - x;
    m1 /= (temp + 1);
    n1 /= (x + 1);
    a = m1 * n1;
  } else {
    m1 /= (k + 1);
    a = m1 * n1;
  }
  temp = k;
  n1 = n;
  m1 = m;
  if (n - 1 < k) {
    x = k - (n - 1);
    temp = k - x;
    n1 /= (temp + 1);
    m1 /= (x + 1);
    b = n1 * m1;
  } else {
    n1 /= (k + 1);
    b = n1 * m1;
  }
  cout << max(a, b);
  return 0;
}
