#include<stdio.h>
#include<stdlib.h>

#define Max 2000001
#define maxvalue 10000

int main(){
  unsigned short *A,*B;

  int set[maxvalue + 1];
  int n,j,i;

  scanf("%d",&n);

  A = malloc(sizeof(short)*(n+1));
  B = malloc(sizeof(short)*(n+1));

  for(i = 0;i <= maxvalue;i++){
    set[i] = 0;
  }

  for(i = 0;i < n;i++){
    scanf("%hd",&A[i + 1]);
    set[A[i]]++;
  }
  for(i = 1;i <= maxvalue;i++){
    set[i] =  set[i] + set[i - 1];
  }
  for(j = 0;j <= n;j++){
    B[set[A[j]]] = A[j];
    set[A[j]]--;
  }
  for(i = 1;i <= n;i++){
      printf("%d ",B[i]);
  }
  printf("\n");
  return 0;
}

