#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #define rep(i, n) for (int i = 0; i < n; i++) #define rep1(i, n) for (int i = 1; i < n + 1; i++) #define all(A) A.begin(), A.end() #define itr(A, l, r) A.begin() + l, A.begin() + r #define debug(var) cout << #var << " = " << var << endl; typedef long long ll; int main(void) { int n; cin >> n; vector a(n), b(n); ll produit = 1; rep(i, n) { cin >> a[i] >> b[i]; produit *= b[i]; } // debug(produit); vector> c(n); rep(i, n) { c[i] = {a[i] * produit / b[i], i}; } auto print_vector = [](auto v) { for (auto i : v) { cout << i << ','; } cout << endl; }; sort(all(c)); reverse(all(c)); rep(i, n) { int idx = c[i].second; cout << a[idx] << ' ' << b[idx] << endl; } }