#define _USE_MATH_DEFINES #include //cin, cout #include //vector #include //sort,min,max,count #include //string,getline, to_string #include //fixed #include //setprecision #include //swap, pair #include //abs(int) #include //sqrt,ceil,M_PI, pow, sin #include //stringstream,getline #include //gcd, accumlate #include //deque #include //randam_device #include //numeric_limits using namespace std; constexpr long long int D_MOD = 1000000007; int main() { int N; cin >> N; vector> A(N, vector(2)); vector> B(N, vector(2)); for (int i = 0; i < N; i++) { cin >> A[i][0] >> A[i][1]; B[i][0] = static_cast(A[i][0]) / A[i][1]; B[i][1] = i; } sort(B.begin(), B.end(), std::greater<>()); for (int i = 0; i < N; i++) { cout << A[static_cast(B[i][1])][0] << " " << A[static_cast(B[i][1])][1] << endl; } return 0; }