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

int main(){
int C[VMAX+1];
unsigned short *A, *B;
int i,j,n;
	
  scanf("%d", &n);

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


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

/* C[i] �� i �̏o�������L�^���� */
for( j = 0; j < n; j++){
 scanf("%d",&A[i+1]);
  C[A[j+1]]++;
 }

/* C[i] �� i �ȉ��̐��̏o�������L�^����*/
for( i = 1; i<=VMAX; i++){
  C[i] = C[i] + C[i-1];
 }

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


for(i=1;i<=n;i++){
  printf("%d",B);
 if (i != n) printf(" ");
 }

printf("\n");
free(A);
free(B);

return 0;
}
