#include <iostream>
#include <queue>
using namespace std;
struct node{
int x,y;
};
bool operator <(const node &a,const node &b){
return a.x>b.x;
}
priority_queue<node>q;
int main(){
int n,x,y;
node t;
cin>>n;
for(int i=0;i<n;i++){
cin>>x>>y;
t.x=x;t.y=y;
q.push(t);
}
while(!q.empty()){
t=q.top();q.pop();
cout<<t.x<<" "<<t.y<<endl;
}
return 0;
}