#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
struct node{
int key;
string s;
node(int kk,string ss){
key=kk;
s=ss;
}
};
bool cmp(node n1,node n2){
return n1.key<n2.key;
}
vector<node>v;
int main(){
int n,key;
string s;
cin>>n;
for(int i=0;i<n;i++){
cin>>key>>s;
v.push_back(node(key,s));
}
sort(v.begin(),v.end(),cmp);
for(int i=0;i<n;i++){
cout<<v[i].key<<" "<<v[i].s<<endl;
}
return 0;
}
/*
5
1 BOB
4 JAACK
3 TIM
8 JIEN
2 SIM
*/
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
struct node{
int key;
string s;
node(int kk,string ss){
key=kk;
s=ss;
}
};
bool cmp(node n1,node n2){
return n1.key<n2.key;
}
vector<node>v;
int main(){
int n,key;
string s;
cin>>n;
for(int i=0;i<n;i++){
cin>>key>>s;
v.push_back(node(key,s));
}
sort(v.begin(),v.end(),cmp);
for(int i=0;i<n;i++){
cout<<v[i].key<<" "<<v[i].s<<endl;
}
return 0;
}
/*
5
1 BOB
4 JAACK
3 TIM
8 JIEN
2 SIM
*/