#include<stdio.h>

#define AMAX 2000000
#define BCMAX 10000


int gn,gcnt;
 
void countingSort( int A[], int B[], int k )
{
	int i,j;
	int C[BCMAX+1];

	for( i=0; i<=k; i++ ) {
		C[i]=0;
	}
	for( j=1; j<=gn; j++ ) {
		C[ A[j] ]=C[ A[j] ]+1;
	}
	for( i=1; i<=k; i++ ) {
		C[i]=C[i]+C[ i-1 ];
	}
	for( j=gn; 1<=j; j-- ) {
		B[ C[ A[j] ] ]=A[j];
		C[ A[j] ]=C[ A[j] ]-1;
	}

	return;
}

int main( void ) 
{	
	int i;
	int A[AMAX+1];
	int B[BCMAX+1];
		
    scanf( "%d", &gn );

	for( i=1; i<=gn; i++ ) {
		scanf( "%d", &A[i] );
	}	
	countingSort( A, B, gn );
	for( i=1; i<=gn; i++ ) {
		printf( "%d", B[i] );
		if( i < gn ) {
			printf( " " );
		}
	}
	printf( "\n" );

    return 0;
}