#include <stdio.h>
#include <stdlib.h>
#define MAX 2000001
#define VMAX 10000

int main(){
  int *A, *C, key, bangou;
  int B[VMAX+1];
  int n, i, j;
  int count=0, max;

  scanf("%d", &n);
  if(n<1 || n>2000000) exit(1);
  
  A = malloc(sizeof(int)*n);
  C = malloc(sizeof(int)*n);
  for(i=0; i<n; i++){
    scanf("%d", &A[i]);
    if(A[i]<0 || A[i]>10000) exit(2);
  }
  
  max = A[0];
  for(i=1; i<n; i++) if(max < A[i]) max = A[i];

  for(i=0; i<=max; i++){
    for(j=0; j<n; j++){
      if(A[j] == i) count++;
    }
    B[i] = count;
  }

  //for(i=0; i<=max; i++) printf("%d ",B[i]);
  //printf("\n");

  for(i=n-1; i>=0; i--){
    C[B[A[i]]-1] = A[i];
    B[A[i]]--;
  }
  
  for(i=0; i<n; i++){
    printf("%d",C[i]);
    if(i<n-1) printf(" ");
  }
  printf("\n");

  return 0;
}

