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
****************************************************************/