#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...); } int main(){ vector t(3); cin >> t; long long l = lcm(t[0], t[1], t[2]); vector unko = {l/t[0], l/t[1], l/t[2]}; long long x = 1; for(long long k=2, m = *min_element(unko.begin(), unko.end()); k<=m; k++){ long long a = unko[0] % k; long long b = unko[1] % k; long long c = unko[2] % k; if(a == b && b == c){ x = k; } } long long g = gcd(l, x); l /= g; x /= g; cout << l << "/" << x << endl; return 0; }