var
n,i,j:longint;
temp:ansistring;
a:array[1..100] of ansistring;
begin
while not eof do
begin
for i:=1 to 100 do
a[i]:='';
readln(n);
for i:=1 to n do
readln(a[i]);
for i:=1 to n-1 do
for j:=i to n do
if (a[i]>a[j])and(length(a[i])=length(a[j]))or(length(a[i])>length(a[j])) then
begin
temp:=a[i];
a[i]:=a[j];
a[j]:=temp;
end;
for i:=1 to n do
writeln(a[i]);
end;
end.
/**************************************************************
Problem: 2202
User: admin
Language: Pascal
Result: Wrong Answer
****************************************************************/