#include <iostream>
#include <vector>
using namespace std;
int main() {
int N;
cin >> N;
int p, q;
vector<int> a(N + 1);
for (int i = 0; i < N; i++) {
cin >> p >> q;
a[p] = q;
}
vector<int> b(N + 1);
for (int i = 0; i <= N; i++) {
for (int j = i + 1; j <= N; j++) {
//b[i]越大,a[i]越小,a[i]越先输出
int temp = a[i] <= a[j] ? i : j;
b[temp]++;
}
}
for (int i = 0; i <= N; i++) {
if (a[i] == 0) b[i] = -1;
}
int max, index;
for (int i = 0; i < N; i++) {
max = -1;
for (int j = 0; j <= N; j++) {
if (max < b[j]) {
max = b[j];
index = j;
}
}
cout << index << " " << a[index] << endl;
b[index] = -1;
}
}
// 64 位输出请用 printf("%lld")