#include #include #include #include #include #include #include #include #include #include #include #include #define vll vector #define vvvl vector #define vvl vector> #define VV(a, b, c, d) vector>(a, vector(b, c)) #define VVV(a, b, c, d) vector(a, vvl(b, vll (c, d))); #define re(c, b) for(ll c=0;ca==r.a && this->b==r.b); } bool operator < (fraction r) const { __int128_t left = (__int128_t)this->a*(__int128_t)r.b; __int128_t right = (__int128_t)r.a*(__int128_t)this->b; return left < right; } bool operator <= (fraction r) const{ __int128_t left = (__int128_t)this->a*(__int128_t)r.b; __int128_t right = (__int128_t)r.a*(__int128_t)this->b; std::cout << (ll)left << " " << (ll)right << '\n'; return left <= right; } bool operator > (fraction r) const{ __int128_t left = (__int128_t)this->a*(__int128_t)r.b; __int128_t right = (__int128_t)r.a*(__int128_t)this->b; return left > right; } bool operator >= (fraction r) const{ __int128_t left = (__int128_t)this->a*(__int128_t)r.b; __int128_t right = (__int128_t)r.a*(__int128_t)this->b; return left >= right; } }; void print(fraction f){ printf("(%lld / %lld)", f.a, f.b); } void println(fraction f){ printf("(%lld / %lld)\n", f.a, f.b); } int main(int argc, char const *argv[]) { ll n;std::cin >> n; vector v(n); for(int i=0;i> a >> b; v[i] = fraction(a, b); } sort(all(v)); reverse(all(v)); for(int i=0;i