var a:array[1..100]of longint;
i,n:longint;
procedure swap(var x,y:longint);
var k:longint;
begin
x:=x xor y;
y:=x xor y;
x:=x xor y;
end;
procedure qsort(s,t:longint);
var i,j,x:longint;
begin
randomize;
x:=a[random(t-s)+s];
i:=s;
j:=t;
while i<=j do
begin
while (i<=j) and (a[j]>x) do j:=j-1;
while (i<=j) and (a[i]<x) do i:=i+1;
if i<=j then
begin
if i<j then
swap(a[i],a[j]);
j:=j-1;
i:=i+1;
end;
end;
if s<j then qsort(s,j);
if i<t then qsort(i,t);
end;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
qsort(1,n);
for i:=1 to n do
writeln(a[i]);
end.
i,n:longint;
procedure swap(var x,y:longint);
var k:longint;
begin
x:=x xor y;
y:=x xor y;
x:=x xor y;
end;
procedure qsort(s,t:longint);
var i,j,x:longint;
begin
randomize;
x:=a[random(t-s)+s];
i:=s;
j:=t;
while i<=j do
begin
while (i<=j) and (a[j]>x) do j:=j-1;
while (i<=j) and (a[i]<x) do i:=i+1;
if i<=j then
begin
if i<j then
swap(a[i],a[j]);
j:=j-1;
i:=i+1;
end;
end;
if s<j then qsort(s,j);
if i<t then qsort(i,t);
end;
begin
readln(n);
for i:=1 to n do
readln(a[i]);
qsort(1,n);
for i:=1 to n do
writeln(a[i]);
end.