/*
TASK:minjumps
LANG:C++
*/
#include<iostream.h>
#include<math.h>
int main()
{ long i,y,z,br,a,b,c,flag,x;
  cin>>a>>b>>c;
  z=2000000000;
  br=2000000000;
  if (c%a==0) br=c/a;
  if (c%b==0)
   if (c/b<br) br=c/b;
  x=a+b;
  if (x==5 && 2<br) br=2;
  x=0;
  for(i=1;i<=c/a;i++)
  { x+=a;
    y=c-x;
    if (y%b==0) z=i+(y/b);
    if (z<br) br=z;
  }
  x=0;
  for(i=1;i<=c/b;i++)
  { x+=b;
    y=c-x;
    if (y%a==0) z=i+(y/a);
    if (z<br) br=z;
  }
  x=0;
  i=0;
  flag=0;
  do
  { x-=a;
    i++;
    if (x<-10000 || flag==1) break;
    y=c+abs(x);
    if (y%b==0) z=i+(y/b);
    if (z<br) { br=z;flag=1;}
  } while (1<2);
  x=0;
  i=0;
  flag=0;
  do
  { x-=b;
    if (x<-10000 || flag==1) break;
    i++;
    y=c+abs(x);
    if (y%a==0) z=i+(y/a);
    if (z<br) { br=z;flag=1;}
  } while (1<2);
  if (br==2000000000) cout<<-1<<endl;
  else cout<<br<<endl;
return 0;
}
