#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define lint long long int /* vectoral(26); al = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'}; vectorAL(26); AL = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'}; */ int main() { vectorvec(3); for (int ia = 0; ia < 3; ia++) { cin >> vec.at(ia); } if ((vec.at(0) != vec.at(1) && vec.at(0) != vec.at(2) && vec.at(1) != vec.at(2) ) && ((vec.at(0) > vec.at(1) && vec.at(1) < vec.at(2)) || (vec.at(0) < vec.at(1) && vec.at(1) > vec.at(2)))) { cout << "INF" << endl; } else { int M; M = max(max(vec.at(0), vec.at(1)), max(vec.at(1), vec.at(2))); int cnt = 0; for (int ib = 1; ib <= M; ib++) { if ((vec.at(0) % ib != vec.at(1) % ib && vec.at(0) % ib != vec.at(2) % ib && vec.at(1) % ib != vec.at(2) % ib) && ((vec.at(0) % ib > vec.at(1) % ib && vec.at(1) % ib < vec.at(2) % ib) || (vec.at(0) % ib < vec.at(1) % ib && vec.at(1) % ib > vec.at(2) % ib))) { cnt++; } } cout << cnt << endl; } }