#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
long long n,m,k;
cin>>n>>m>>k;
long long ans=0;
if(n+m-2<k)
{
cout<<-1<<endl;
return 0;
}
else if(n+m-2==k)
{
cout<<1<<endl;
return 0;
}
if(k<=m)
ans=max(n*(m/(k+1)),ans);
if(k<=n)
ans=max(m*(n/(k+1)),ans);
if(k-n+2!=0)
ans=max(m/(k-n+2),ans);
if(k-m+2!=0)
ans=max(n/(k-m+2),ans);
cout<<ans<<endl;
return 0;
}