var a:array[1..1000] of record
num:integer;
lastn:string;
end;
n,i,k,k1,t:integer;
begin
readln(n);//кол-во табельных номеров
for i:=1 to n do
begin
readln(a[i].num);readln(a[i].lastn);
end;
k:=n;//k:word; или k:integer;
repeat
k1:=0;//кол-во обменов
for i:=2 to k do
if a[i].num>a[i-1].num then //строгое убывание
begin
inc(k1);
t:=a[i].num;
a[i].num:=a[i-1].num;
a[i-1].num:=t;
end;
k:=k-1;
until k1=0;
for i:=1 to n do
write(a[i].num,' ',a[i].lastn,' ');
end.
num:integer;
lastn:string;
end;
n,i,k,k1,t:integer;
begin
readln(n);//кол-во табельных номеров
for i:=1 to n do
begin
readln(a[i].num);readln(a[i].lastn);
end;
k:=n;//k:word; или k:integer;
repeat
k1:=0;//кол-во обменов
for i:=2 to k do
if a[i].num>a[i-1].num then //строгое убывание
begin
inc(k1);
t:=a[i].num;
a[i].num:=a[i-1].num;
a[i-1].num:=t;
end;
k:=k-1;
until k1=0;
for i:=1 to n do
write(a[i].num,' ',a[i].lastn,' ');
end.