#include #include #include #include #include #include #include #include #include #include using namespace std; long long gcd(long long a, long long b){ if(b==0) return a; return gcd(b, a%b); } long long lcm(long long a, long long b){ if(aN * x.N, this->D * x.D); } bool operator<(const fraction& x) const{ long long l = lcm(this->D, x.D); return (this->N * (l/this->D)) < (x.N * (l/x.D)); } void print(){ cerr << N << "/" << D << endl; } }; int main(){ vector T(3); for(int i=0; i<3; i++){ cin >> T[i]; } vector ans(4); for(int i=0; i<4; i++){ vector A(2), B(2); vector N(2), D(2); vector g(2); A[0] = T[1] + T[0] * ((i&1)?1:-1); B[0] = T[1] * T[0]; A[1] = T[2] + T[1] * ((i&2)?1:-1); B[1] = T[2] * T[1]; for(int k=1; k<=1000000; k++){ fraction t(B[0] * k, A[0]); fraction tmp(A[1], B[1]); tmp = tmp * t; if(tmp.D == 1){ ans[i] = t; break; } } } sort(ans.begin(), ans.end()); cout << ans[0].N << "/" << ans[0].D << endl; /* for(int i=0; i<4; i++){ cerr << ans[i].N << "/" << ans[i].D << endl; } */ return 0; }