/*
TASK: minjumps
LANG: C++
*/
//Rumen Hristov Hristov

#include <cstdio>
#include <queue>
#include <algorithm>
using namespace std;

const int MAX = 10000;

int a,b,n;
int used[(2 * MAX) + 5];

void solve()
{
    scanf ("%d%d%d",&a,&b,&n);
    
    queue<int> q;
    int t;
    
    q.push(MAX);
    used[MAX] = 1;
    
    while ( !q.empty() )
    {
        t = q.front();
        q.pop();
        
      //  printf ("%d\n",t);
        
        if ( t-MAX == n )
        {
            break;
        }
        
        if ( t - a >= 0 )
        {
            if ( used[t-a] == 0 )
            {
                q.push(t-a);
                used[t-a] = used[t] + 1;
            }
        }
        
        if ( t + b <= (2*MAX) )
        {
            if ( used[t+b] == 0 )
            {
                q.push(t+b);
                used[t+b] = used[t] + 1;
            }
        }
    }
    
    if ( used[ MAX + n ] == 0 ) 
        printf ("-1\n");
    else
        printf ("%d\n",used[ MAX + n ] - 1);
}

int main()
{
    solve();
    
    return 0;
}
