/*
TASK:minjumps
LANG:C++
*/
#include <cstdio>
using namespace std;
int a,b,n;

int main(void)
{
 int c,r,r2,how;
// cin>>a>>b>>n;
 scanf("%d %d %d",&a,&b,&n);
 if(n<0)n*=-1;
 if( ((a&1)==0) && ((b&1)==0) && ((n&1)==1) )
     {
     // cout<<"-1\n";
      printf("-1\n");
      return 0;
     }
 r=n/b;
 r2=(n-b*r)/a;
 if( ((r*b)+(r2*a)) == n )
     {
     // cout<<(r+r2)<<endl;
      printf("%d\n",r+r2);
      return 0;
    }
 if(n<a)
  {
   r=1;
   while( ((r*b)+n)%a != 0 ) r++;
   r2=((r*b)+n)/a;
   how=r+r2;
   r2=1;
   while( ((r2*a)+n)%b != 0 ) r2++;
   r=((r2*a)+n)/b;
   if(how>(r+r2))how=r+r2;
//   cout<<how<<endl;
   printf("%d\n",how);
   return 0;
  }
 if(a<n&&n<b)
  {
   if(n%a==0)
    {
//     cout<<n/a<<endl;
     printf("%d\n",n/2);
     return 0;
    }
   r=1;
   while( ((r*b)+n)%a != 0 ) r++;
   r2=((r*b)+n)/a;
   how=r+r2;
   r2=1;
   while( ((r2*a)+n)%b != 0 ) r2++;
   r=((r2*a)+n)/b;
   if(how>(r+r2))how=r+r2;
//   cout<<how<<endl;
   printf("%d\n",how);
   return 0;
  }
  if(n>b)
   {
    r=1;
    while( ((r*b)+n)%a != 0 ) r++;
    r2=((r*b)+n)/a;
    how=r+r2;
    r2=1;
    while( ((r2*a)+n)%b != 0 ) r2++;
    r=((r2*a)+n)/b;
    if(how>(r+r2))how=r+r2;
//    cout<<how<<endl;
    printf("%d\n",how);
    return 0;
  }
 printf("-1\n");
 return 0;
}
