#include<stdio.h>
#define MAX 100000000
void MergeSort(int[],int,int);
int temp[MAX];
int n;
int S[MAX];
int main(){
  int i;
  
  scanf("%d",&n);
 for(i=0;i<n;i++){
    scanf("%d",&S[i]);
  }
  
  
  MergeSort(S,0,n-1);
   
   
   for(i=0;i<n-1;i++){
   printf("%d ",S[i]);
}
 
 printf("%d\n",S[i]);
 return 0;
}

void MergeSort(int x[],int left,int right){
  
  
  int mid, i, j, k;
 
 if (left >= right)             
      return;                                                      
    mid = (left + right) / 2;      
    MergeSort(x, left, mid);       
    MergeSort(x, mid + 1, right);  
    for (i = left; i <= mid; i++)
     temp[i] = x[i];
   for (i = mid + 1, j = right; i <= right; i++, j--)
     temp[i] = x[j];
   i = left;        
    j = right;       
    for (k = left; k <= right; k++)   
    if (temp[i] <= temp[j])       
	  x[k] = temp[i++];
        else
	  x[k] = temp[j--];
}