import random
def sort(List):
l=len(List)-1
flag=random.randint(0,l)
flagnum=List[flag]
List_1=[]
List_2=[]
for i in range(0,(l+1)):
if i!=flag:
if List[i]<=flagnum:
List_1.append(List[i])
else:
List_2.append(List[i])
if len(List_1)<=1 and len(List_2)<=1:
return [List_1[0],flagnum,List_2[0]]
else:
return sort(List_1)+[flagnum]+sort(List_2)
n=int(input())
List_num=input().split()
List_num_2=[]
for i in range(0,len(List_num)):
List_num_2.append(int(List_num[i]))
List_num_3=sort(List_num_2)
ans=""
for i in range(0,len(List_num_3)):
ans+=str(List_num_3[i])
ans+=" "
print(ans)