/*
TASK:minjumps
LANG:C++
*/
#include <iostream>
using namespace std;
int main()
{
   int a,b,n,p,q,z,d=0,d1,a1,b1,n1,i;
    cin>>a>>b>>n;
    if(n<0)n=n*(-1);
    if(a<b){p=a;a=b;b=p;}
    a1=a;b1=b;n1=n;
    if(n%a==0){d=1;z=n/a;}
    if(n%b==0) {d=1;z=n/b;}
    if(a%2==0&&b%2==0&&n%2!=0) {z=-1;d=1;}
    if(d==0) 
    { z=(n/a)+1;
      if(a*z<10001)
      {q=a*z-n; 
      if(q%b==0) z=z+(q/b);
      else 
      {d1=2;q=z;i=1;
      while(a*i<10000&&(a*i-n)%b!=0)
      {i++; z++;}
      if(a*i>10000&&q!=z) z=-1;
      if(z!=-1) z=z+(a*i-n)/b;
      }
      }
      a=a1;b=b1;n=n1;
      d1=n/a;
      i=1;
      while((n-a*i)%b!=0&&(n-a*i)>=-10000)
      {i++;d1++;}
      if(a*i<=10000)d1=d1+(n-a*i)/b;
      }
      if(d1<z)z=d1;
      cout<<z<<endl;    
      return 0;
}
