//Normal #define _GLIBCXX_DEBUG #define ll long long #include using namespace std; using Graph = vector>; void print(auto a){ cout << a; } void prints(auto a){ cout << a << " "; } void prints(){ cout << " "; } void printl(auto a){ cout << a << endl; } void printl(){ cout << endl; } void fix(int n){ cout << fixed << setprecision(n); } int main(){ int N; cin >> N; vector> X(N, vector(2)); for(int i = 0; i < N; i++) cin >> X[i][0] >> X[i][1]; for(int i = 0; i < N; i++){ for(int j = i+1; j < N; j++){ int A = X[i][0]*X[j][1]; int B = X[i][1]*X[j][0]; if(A < B){ swap(X[i][0], X[j][0]); swap(X[i][1], X[j][1]); } } } for(int i = 0; i < N; i++){ cout << X[i][0] << " " << X[i][1] << endl; } return 0; }