#include using namespace std; //#include //using namespace atcoder; using ll = long long int; using ull = unsigned long long int; using ld = long double; constexpr ll MAX = 2000000000000000000; constexpr ld PI = 3.14159265358979; constexpr ll MOD = 0;//2024948111; ld dotorad(ld K){return PI * K / 180.0;} ld radtodo(ld K){return K * 180.0 / PI;} mt19937 mt; void randinit(){srand((unsigned)time(NULL));mt = mt19937(rand());} int main(){ ll A,B,C; cin >> A >> B >> C; vector P((A + B + 1) * C + 1,0),Q(C,0); for(ll i = 0;i <= C;i++){ for(ll j = 0;j <= C;j++){ P[A * i + B * j] = 1; Q[(A * i + B * j) % C] = 1; } } for(ll i = 0;i < C;i++){ if(Q[i] == 0){ cout << "INF" << endl; return 0; } } ll ans = 0; for(ll i = 0;i <= (A + B) * C;i++){ if(P[i]){ P[i + C] = 1; } else ans++; } cout << ans << endl; }