#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; template istream& operator >> (istream& is, vector& vec){for(T& val: vec) is >> val; return is;} template istream& operator , (istream& is, T& val){ return is >> val;} template ostream& operator << (ostream& os, const vector& vec){for(int i=0; i ostream& operator , (ostream& os, const T& val){ return os << " " << val;} template ostream& operator >> (ostream& os, const T& val){ return os << " " << val;} long long gcd(long long a, long long b){ if(b==0) return a; return gcd(b, a%b); } template long long gcd(long long a, long long b, T ... c){ return gcd(gcd(a,b), c...); } long long lcm(long long a, long long b){ if(a long long lcm(long long a, long long b, T ... c){ return lcm(lcm(a,b), c...); } long long extgcd(long long a, long long b, long long &x, long long &y){ long long d=a; if(b!=0){ d = extgcd(b, a%b, y, x); y -= (a/b) * x; }else{ x = 1; y = 0; } return d; } int main(){ vector t(3); cin >> t; long long x = lcm(t[0], t[1], t[2]); long long l = gcd(t[0]-1, t[1]-1, t[2]-1); long long g = gcd(l,x); l /= g; x /= g; cout << x << "/" << l << endl; return 0; }