#include #include #include #include #include #include #include #include #include #include #include static const int MOD = 1000000007; using ll = long long; using u32 = uint32_t; using namespace std; template constexpr T INF = ::numeric_limits::max()/32*15+208; pair f(ll p, ll q, ll r, ll s){ r *= q; p *= s; r /= __gcd(r, p); ll g = __gcd(r, q); r /= g, q /= g; g = __gcd(r, s); r /= g, s /= g; g = __gcd(p, q); p /= g, q /= g; g = __gcd(p, s); p /= g, s /= g; ll ans1 = r*p, ans2 = q*s; return {ans1, ans2}; } template ostream& operator<<(ostream& os, pair p) { return os << p.first << "/" << p.second; } int main() { int a, b, c; cin >> a >> b >> c; auto g = [&](pair x, pair y){ ll g = __gcd(x.first, y.second); ll h = __gcd(x.second, y.first); return x.first/g*y.second < x.second/h*y.first; }; vector> ans; ans.emplace_back(f(a*b, b-a, a*c, c-a)); ans.emplace_back(f(a*b, b+a, a*c, c-a)); ans.emplace_back(f(a*b, b-a, a*c, c+a)); ans.emplace_back(f(a*b, b+a, a*c, c+a)); cout << *min_element(ans.begin(),ans.end(), g) << "\n"; return 0; }