/*#include <stdio.h>
typedef struct
{
char a;
int s,d;
}asd;
int main()
{
asd arr[1001],temp;
int n,i,j,str=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&arr[i].s,&arr[i].d);
arr[i].a=i;
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(arr[j].d>arr[j+1].d)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (i=1;i<=n;i++)
{
printf("%d",arr[i].s);
}
return 0;
}*/
/*#include <stdio.h>
typedef struct
{
char a[11];
int s;
}asd;
int main()
{
asd arr[1001],temp;
int n,m,i,j,str=0;
scanf("%d %d",&n,&m);
for(i=1;i<=n;i++)
{
scanf("%s %d",arr[i].a,&arr[i].s);
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(arr[j].s>arr[j+1].s)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (i=1;i<=n-m;i++)
{
printf("%c",arr[i].a);
}
return 0;
}*/
#include <stdio.h>
typedef struct
{
int a,s;
}asd;
int main()
{
asd arr[1001],temp;
int n,i,j,str=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d %d",&arr[i].a,&arr[i].s);
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(arr[j].a>arr[j+1].a)
{
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for (i=1;i<=n;i++)
{
printf("%d %d\n",arr[i].a,arr[i].s);
}
return 0;
}