#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
bool compare(pair<int, int>a, pair<int, int>b) {
if(a.second == b.second) {
return a.first < b.first; // y(second)값이 같으면 x(first)값 비교
} else {
return a.second < b.second; // y(second)값 우선 순위 비교
}
}
int main() {
int i, N;
vector<pair<int,int>> ps; // 좌표 쌍을 받을 벡터를 선언해 준다.
cin >> N; // 좌표개수를 입력받는다.
int x, y;
for(i = 0; i < N; i++) { // 주어진 개수만큼 반복
cin >> x >> y; // 좌표 x,y 값을 받아서
ps.push_back({x, y}); // 좌표값을 추가해 준다.
}
sort(ps.begin(), ps.end(), compare); // 소팅
for(i = 0; i < N; i++) {
cout << ps[i].first << ' ' << ps[i].second << '\n';
// 소팅된 벡터를 하나씩 좌표형태로 출력해 준다.
}
return 0;
}