#include using namespace std; struct s { double A, B; }; int compare(const void *x, const void *y) { if (((s*)x)->A / ((s*)x)->B < ((s*)y)->A / ((s*)y)->B) return 1; else return -1; } int main() { int n; cin >> n; s frac[n]; for (int i = 0; i < n; ++i) cin >> frac[i].A >> frac[i].B; qsort(frac, n, sizeof(s), compare); for (int i = 0; i < n; ++i) cout << frac[i].A << " " << frac[i].B << endl; }