
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
import java.util.*;
class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer tk;
int N = Integer.parseInt(br.readLine());
String[][] coordinateArray= new String[N][3];
String age, name;
int x, y;
for (int n = 0; n < N; n++){
tk = new StringTokenizer(br.readLine());
age = tk.nextToken();
name = tk.nextToken();
coordinateArray[n][0] = age;
coordinateArray[n][1] = name;
coordinateArray[n][2] = String.valueOf(n);
}
Arrays.sort(coordinateArray, (e1, e2) -> {
if(Integer.parseInt(e1[0])==Integer.parseInt(e2[0]))
return Integer.parseInt(e1[2]) - Integer.parseInt(e2[2]);
else
return Integer.parseInt(e1[0]) - Integer.parseInt(e2[0]);
});
for (int n = 0; n < N; n++)
sb.append(coordinateArray[n][0] + " " + coordinateArray[n][1]).append('\n');
System.out.print(sb);
br.close();
}
}