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

void countingsort(unsigned short a[], unsigned short b[], int k, int n) {
  int i, j;
  unsigned short c[k];
  for (i = 0; i <= k; i++) 
    c[i] = 0;
  for (i = 0; i < n; i++) 
    c[a[i]]++;
  for (i = 1; i <= k; i++)
    c[i] += c[i-1];
  for (i = n-1; i >= 0; i--) {
    b[c[a[i]]-1] = a[i];
    c[a[i]]--;
  }
}
    
int main(void)
{
  int n, i;
  unsigned short *a, *b;
  unsigned short max = 0;
  scanf("%d", &n);
  a = malloc(sizeof(short) * n);
  b = malloc(sizeof(short) * n);
  for (i = 0; i < n; i++) {
    scanf("%hu", &a[i]);
    if (a[i] > max)
      max = a[i];
  }
  countingsort(a, b, max, n);
  for (i = 0; i < n-1; i++)
    printf("%d ", b[i]);
  printf("%d\n", b[n-1]);
  return 0;
}

