/*
task:ots
lang:c++
*/
#include<iostream>
using namespace std;
int main()
{
    int a,b,n,i,c,d,m=100000;
    cin>>a>>b>>n;
    if(((a%2==0)&&(b%2==0))&&(n%2!=0))cout<<"-1\n";
    if(a>b){c=a-b;d=b-a;}
    else {c=b-a;d=a-b;}
    if(a!=0){
             if(n%a==0&&n/a<m&&n/a>0)m=n/a;
             }
    if(b!=0){         
             if(n%b==0&&n/b<m&&n/b>0)m=n/b;
             }
    if(c!=0){         
             if(n%c==0&&(n/c)*2<m&&(n/c)*2>0)m=(n/c)*2;
             }
    if(a+b!=0){         
               if(n%(a+b)==0&&(n/(a+b))*2<m&&(n/(a+b))*2>0)m=(n/(a+b))*2;
               }
    if(a+c!=0){           
               if(n%(a+c)==0&&(n/(a+c))*3<m&&(n/(a+c))*3>0)m=(n/(a+c))*3;
               }
    if(a+d!=0){           
               if(n%(a+d)==0&&(n/(a+d))*3<m&&(n/(a+d))*3>0)m=(n/(a+d))*3;
               }
    if(b+d!=0){           
               if(n%(b+d)==0&&(n/(b+d))*3<m&&(n/(b+d))*3>0)m=(n/(b+d))*3;
               }
    if(b+c!=0){           
               if(n%(b+c)==0&&(n/(b+c))*3<m&&(n/(b+c))*3>0)m=(n/(b+c))*3;
               }
               if(m==100000)cout<<"-1\n";
               else
                    cout<<m<<"\n";
    return 0;
}
