/*
TASK:minjumps
LANG:C++
*/
#include<iostream>
#include<math.h>
using namespace std;
int nod(int a,int b)
{
    if(!b) return a;
    else return nod(b,a%b);
}

int main()
{
    int a,b,c;
    cin>>a>>b>>c;
    
    if(a<b) swap(a,b);
    if(c%(nod(a,b))) { cout<<"-1"<<endl; return 0; }
    
    int min=9999999;
    int x=10000/a;
    x=-x;
    for(;x*a<=10000;x++)
            {
                              int r=(abs(c-a*x))%b;
                              if(!r) {
                                      int y=(c-a*x)/b;
                                      if(min>abs(x)+abs(y)) min=abs(x)+abs(y);
                                     } 
            }
    cout<<min<<endl;
    return 0;
}
