#include using namespace std; struct frac { int a; int b; double d; bool operator < (const frac &F) const { return d > F.d; } }; int main() { // 1. 入力情報取得. int N; cin >> N; frac f[N]; for(int i = 0; i < N; i++) { cin >> f[i].a >> f[i].b; f[i].d = (f[i].a + 0.0) / f[i].b; } // 2. 分数の降順表示. sort(f, f + N); // 3. 出力. for(int i = 0; i < N; i++) cout << f[i].a << " " << f[i].b << endl; return 0; }