#include <stdio.h>
#define  M   2000000
int A[M];
int B[M];
int C[M];
int n;
void CountingSort(int[],int[] ,int);

int main()
{
  int i;
  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%d",&A[i]);
  }
  CountingSort(A,0,n);
  for(i =0;i<n-1;i++){
    printf("%d ",A[i]);
  }
  printf("%d\n%d\n",A[i]);
  return 0;
}

void CountingSort(int A[], int B[], int k){
  int  i,j;

    for (i = 0; i <= k; i++){
        C[i] = 0;
    }

    for (j = 1; j <= n; j++){
        C[A[j]]++;
    }

    for (i = 1; i <= k; i++) {
        C[i] += C[i-1];
    }

    for (j = n; i >= 0; i--) {
        B[C[A[j]]] = A[j];
	C[A[j]]--;
    }
}