#include<stdio.h>

#define Infty 2000000
void merge(int*, int, int, int);
void mergesort(int*, int, int);

int left=0,right,mid;
int L[1000],R[1000];
int main(){
  int n;
  int s[2000];
  int i;
  scanf("%d",&n);
  for(i=0; i < n; i++){
    scanf("%d",&s[i]);
  }
  right=n;
  mid=(left+right)/2;
  mergesort(s,left,right);
  for(i=0;i < n; i++){
    printf("%d ",s[i]);
  }
  printf("\n");

  return 0;
}
  void merge(int* A[],int left,int mid,int right){
    int n1,n2;
    int i,j,k;
    n1=mid-lefr;
    n2=right-mid;

    for(i=0; i < n1;i++){
      L[i]=A[left+i];
    }
    for(i=0; i < n2; i++){
      R[i]=A[mid+i];
    }
    L[n1]=Infty;
    L[n2]=Infty;
    i=0;
    j=0;
    for(k=left; k < right; k++){
      if(L[i] <= R[j]){
	A[k]=L[i];
	i+=1;
      }
      else{
	A[k]=R[j];
	j+=1;
      }
    }
  }

void mergesort(int* A[], int left, int right){
  if(left+1 < right){
    mid=(left+right)/2;
    mergesort(A,left,mid);
    mergesort(A,mid,right);
    merge(A,left,mid,right);
  }
}