/*#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c,d,e;
int arr[100000]={};
int arrr[100000]={};
scanf("%d %d",&a,&b);
for(c=0;c<a;c++)
{
scanf("%d",&arr[c]);
}
for(c=0;c<a-b+1;c++)
{
for(d=c;d<b+c;d++)
{
arrr[c]=arrr[c]+arr[d];
}
}
e=arrr[0];
for(c=0;c<a-b+1;c++)
{
if(arrr[c]>e)
{
e=arrr[c];
}
}
printf("%d",e);
}*/
/*
#include <stdio.h>
int main()
{
int a,b,c,d,e;
scanf("%d %d",&a,&b);
scanf("%d",&c);
if(b+c<60)
{
d=b+c;
e=a;
}
else
{
d=(b+c)%60;
if(a+(b+c)/60>=24)
{
e=a+((b+c)/60)-24;
}
else
{
e=a+((b+c)/60);
}
}
printf("%d %d",e,d);
}*/
/*
#include <stdio.h>
#include <string.h>
int main()
{
char str[50]={};
int a,b;
b=10;
scanf("%s",str);
for(a=1; str[a]!=0; a++)
{
if(str[a]==str[a-1])
{
b=b+5;
}
else
{
b=b+10;
}
}
printf("%d",b);
}*/
/*
#include <stdio.h>
int main()
{
int a,b,c,d;
scanf("%d",&a);
if(a>2013)
{
b=a-2013;
}
else
{
b=2013-a;
}
c=(b%12;
d=b%10;
printf("%c%d",65+c,d);
}*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp;
int main() {
scanf("%d", &n);
for (i=1; i<=n; i++)
scanf("%d", &a[i]);
for(i=1; i<n; i++)
{
for(j=0;j<=n-i;j++)
{
if (a[j] > a[j+1])
{
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for (i = 1; i <= n; i++)
printf("%d\n", a[i]);
return 0;
}*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, min;
int main() {
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=1; i<n; i++) {
min=i;
for (j=i+1; j<=n; j++) {
if(a[j]<a[min])
{
min=j;
}
}
temp = a[i];
a[i] = a[min];
a[min] = temp;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}*/
/*
#include <stdio.h>
int a[10001];
int n, i, j, temp, key;
int main()
{
scanf("%d", &n);
for (i = 1; i <= n; i++)
scanf("%d", &a[i]);
for (i=2; i<=n; i++)
{
key=a[i];
for(j=i-1; j>=1 && key<a[j] ; j--)
{
a[j+1]=a[j];
}
a[j+1]=key;
}
for (i=1; i<=n; i++)
printf("%d\n", a[i]);
return 0;
}*/
//1709 1420 1805 3017 3019 순서대로 푸시면됩니당!
/*
#include <stdio.h>
int main()
{
int a,b,c,max,temp;
int arr[100]= {};
scanf("%d",&a);
for(b=0; b<a; b++)
{
scanf("%d",&arr[b]);
}
for(b=0; b<a; b++)
{
max=b;
for(c=b; c<a; c++)
{
if(arr[c]>arr[max])
{
max=c;
}
}
temp=arr[b];
arr[b]=arr[max];
arr[max]=temp;
}
for(b=0;b<a;b++)
{
printf("%d ",arr[b]);
}
}*/
/*
#include <stdio.h>
struct st
{
char a[20];
int b;
};
int main()
{
int c,d,e,f;
struct st stu[50];
struct st t;
scanf("%d",&c);
for(d=0;d<c;d++)
{
scanf("%s %d",stu[d].a,&stu[d].b);
}
for(d=0;d<c;d++)
{
f=d;
for(e=d;e<c;e++)
{
if(stu[e].b>stu[f].b)
{
f=e;
}
}
t=stu[d];
stu[d]=stu[f];
stu[f]=t;
}
printf("%s",stu[2].a);
}*/
#include <stdio.h>
struct aa
{
int a,b;
};
int main()
{
struct aa aaa[100];
struct aa t;
int c,d,e,f;
scanf("%d",&c);
for(d=0;d<c;d++)
{
scanf("%d %d",&aaa[100].a,&aaa[100].b);
}
for(d=0;d<c;d++)
{
f=d;
for(e=d;e<c;e++)
{
if(aaa[e].a>aaa[f].a)
{
f=e;
}
}
t=aaa[d];
aaa[d]=aaa[f];
aaa[f]=t;
}
for(d=0;d<c;d++)
{
printf("%d %d\n",aaa[d].a,aaa[d].b);
}
}