/*#include <stdio.h>
typedef struct
{
int s1, s2, s3;
} student;
int main()
{
int a,i,j,n,mi=0;
int c[2];
student arr[100];
scanf("%d ",&n);
for (i=0; i<n; i++)
{
scanf("%d %d %d", &arr[i].s1, &arr[i].s2, &arr[i].s3);
}
for (j=0; j<3; j++)
{
if(j==2 && c[0]==c[1])
{
for(i=0;i<n;i++)
{
if(arr[i].s1==c[0])
{
arr[i].s3=0;
}
}
}
for (i=0; i<n; i++)
{
if (arr[i].s3 > arr[mi].s3)
{
mi=i;
}
}
printf("%d %d\n",arr[mi].s1,arr[mi].s2);
c[j]=arr[mi].s1;
arr[mi].s3=0;
}
return 0;
}
*/
/*
#include <stdio.h>
typedef struct
{
char name[10];
int score;
} student;
int main()
{
int i,j,n,m,mi=0;
student ar[100];
scanf("%d %d", &n,&m);
for (i=0; i<n; i++)
{
scanf("%s %d", ar[i].name, &ar[i].score);
}
for (j=0; j<m; j++)
{
mi=0;
for (i=0; i<n; i++)
{
if (ar[i].score > ar[mi].score)
{
mi=i;
}
}
printf("%s\n",ar[mi].name);
ar[mi].score=0;
}
return 0;
}*/
#include <stdio.h>
typedef struct
{
int a,b;
}student;
int main()
{
int i,j,n;
scanf("%d", &n);
student ar[100],tmp;
for (i=0; i<n; i++)
{
scanf("%d %d", &ar[i].a, &ar[i].b);
}
for(i=0;i<n-1;i++)
{
for(j=0;j<n-i-1;j++)
{
if(ar[j].a>ar[j+1].a)
{
tmp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=tmp;
}
}
}
for (i=0; i<n; i++)
{
printf("%d %d\n", ar[i].a, ar[i].b);
}
return 0;
}