#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define all(g) (g).begin(),(g).end() #define REP(i, x, n) for(int i = x; i < n; i++) #define rep(i,n) REP(i,0,n) #define F(i,j,k) fill(i[0],i[0]+j*j,k) #define P(p) cout<<(p)< vi; typedef vector vvi; typedef vector vl; typedef vector vd; typedef pair pii; typedef pair pll; typedef long long ll; int gcd(int a, int b) { if (b == 0) return a; return gcd(b, a % b); } int lcm(int a, int b) { return a / gcd(a, b) * b; } int extgcd(int a, int b, int& x, int& y) { int d = a; if (b != 0) { d = extgcd(b, a % b, y, x); y -= (a / b) * x; } else { x = 1; y = 0; } return d; } bool is_prime(ll n) { if (n == 2) return true; if (n % 2 == 0) return false; for (ll i = 3; i * i <= n; i+=2) { if (n % i == 0) return false; } return n != 1; } vector divisor(int n) { vector res; for (int i = 1; i * i <= n; i++) { if (n % i == 0) { res.pb(i); if (i != n / i) res.pb(n / i); } } return res; } map prime_factor(int n) { map res; for (int i = 2; i * i <= n; i++) { while (n % i == 0) { ++res[i]; n /= i; } } if (n != 1) res[n] = 1; return res; } const int MAX_N = 10000000; int prime[MAX_N]; bool memo[MAX_N + 1]; long long MOD = 1000000007ll; ll mod_pow(ll x, ll n, ll mod) { if (n == 0) return 1; ll res = mod_pow(x * x % mod, n / 2, mod); if (n & 1) res = res * x % mod; return res; } bool is_kadomatsu(int a, int b, int c) { if (a == b || b == c || c == a) return false; if (b > a && b > c) return true; if (a > b && c > b) return true; return false; } int main() { int a1, a2, a3; cin >> a1 >> a2 >> a3; if (is_kadomatsu(a1, a2, a3)) { P("INF") } else { int ans = 0; REP(i, 2, 10000) { if (is_kadomatsu(a1%i, a2%i, a3%i)) ans++; } P(ans); } return 0; }