#include <iostream>
#include <cstdio>
#include <algorithm>
#include <cmath>
#include <string>
using namespace std;
template <class T>
int one(int first,int end,T r[]){
int i,j,t;
i=first,j=end;
while(i<j){
while(i<j&&r[i]<r[j])i++;
if(i<j){t=r[i];r[i]=r[j];r[j]=t;i++;}
while(j<j&&r[i]<r[j])j--;
if(i<j){t=r[i];r[i]=r[j];r[j]=t;j--;}
}
return i;
}
void quicksort(int first,int end ,int r[]){
int x;
if(first<end){
x = one(first,end,r);
quicksort(first,x-1,r);
quicksort(x+1,end,r);
}
}
int cmp(const void* a,const void* b){
return(*(int *)a-*(int *)b);
}
int main(){
int n,i;
int a[100];
cin>>n;
for(i=0;i<n;i++){
cin>>a[i];
}
//quicksort(0,n-1,a);
qsort(a,n,sizeof(a[0]),cmp);
for(i=0;i<n;i++){
cout<<a[i]<<' ';
}
cout<<endl;
return 0;
}