/*
TASK: minjumps
LANG: C++
*/
#include<iostream>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
    int a,b,n,max,min;
    int x[30],y[30];
    cin>>a>>b>>n;
    if(a<b){max=b; min=a;}
    else {max=a; min=b;}
    int i,j,z;
    x[0]=0;y[0]=0;
    for ( i=1; i<=30; i++){x[i]=i*max;y[i]=i*min;}
    int br[100];
    for(z=1; z<=100; z++)br[z]=0; 
    z=1;
    if(a%2==0 && b%2==0 && n%2!=0){cout<<"-1"<<endl;return 0;}
    for( i=0; i<=30; i++ )
     {
         for ( j=0; j<=30; j++)
         { if(x[i]+y[j]==n || x[i]-y[j]==n || y[j]-x[i]==n)
            {br[z]=i+j;z++;}}}
            min=3000;
         for(i=1; i<=z; i++){if(br[i]<min && br[i]!=0 ) min=br[i];}
         cout<<min;
           cout<<endl;  
               
               
               system("pause");
               return 0;
}
