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

void QuickSort(int A[],int begin , int end);
int n,A[100001];


int main(){
  int i;

  scanf("%d",&n);
  for(i=0;i<n;i++){
    scanf("%d",&A[i]);

}
  QuickSort( A,  A[0], A[n-1]);


  for(i=0;i<n-1;i++){

    printf("%d ",A[i]);

}

  printf("%d\n",A[n-1]);
  return 0;
}


void QuickSort(int array[], int begin, int end)
{
	int i, j;
	int pivot;   
	int work;
		
	pivot = array[ ( begin + end ) / 2 ];
	i = begin;
	j = end;
	
	while( 1 )
	{
		while( array[i] < pivot ){ ++i; }  
		while( array[j] > pivot ){ --j; }  
		if( i >= j ){ break; }  
		
		/* 要素を交換する */
		work = array[i];
		array[i] = array[j];
		array[j] = work;
		
		/* 注目点をずらす */
		i++;
		j--;
	}
	
	/* 左側に要素が２つ以上あれば、クイックソートを再帰させる */
	if( begin < i - 1 ){ QuickSort( array, begin, i - 1 ); }
	/* 右側に要素が２つ以上あれば、クイックソートを再帰させる */
	if( j + 1 < end ){ QuickSort( array, j + 1, end ); }
}