#include #include #include #include #include #include #include #include #include #include #include using namespace std; #define FOR(i, a, n) for (int i = a; i < n; i++) #define REP(i, n) for(int i = 0; i < n; i++) struct omt{omt(){ios::sync_with_stdio(false);cin.tie(0);}}star; int main(){ int A[3]; REP(i, 3) cin >> A[i]; int f = 0, ma = 0, mi = 1001; if((A[0] != A[1]) and (A[1] != A[2]) and (A[0] != A[2])){ REP(i, 3){ if(A[i] > ma) ma = A[i]; else if(A[i] < mi) mi = A[i]; } if((ma == A[1]) or (mi == A[1])) f = 1; } if(f == 0){ int cnt = 0; FOR(i, 1, ma + 1){ int B[3]; int ma2 = INT_MIN; int mi2 = INT_MAX; REP(j, 3){ B[j] = A[j] % i; if(B[j] > ma2) ma2 = B[j]; else if(B[j] < mi2) mi2 = B[j]; } if((B[0] != B[1]) and (B[1] != B[2]) and (B[0] != B[2])){ if((ma2 == B[1]) or (mi2 == B[1])) cnt++; } } cout << cnt << endl; }else cout << "INF" << endl; return 0; }