#include <stdio.h>
#include <string.h>

void Qsort(unsigned long x[], int left, int right);
void swap(unsigned long x[],int i,int j);

int main(void){
	int n;
	scanf("%d",&n);
	int i;
	unsigned long a[n];
	for(i=0;i<n;i++){
		scanf("%ld",&a[i]);
	}
	Qsort(a,0,n-1);
	for(i=0;i<n;i++){
		printf("%ld ",a[i]);
	}
	printf("\n");
	return 0;
}
	
void Qsort(unsigned long x[], int left, int right){
	int i,j;
	unsigned long pivot;
	i=left;
	j=right;
	pivot=x[(left+right)/2];
	while(1){
		while(x[i]<pivot)
			i++;
		while(pivot<x[j])
			j--;
		if(i>=j)
			break;
		swap(x,i,j);
		i++;
		j--;
	}
	if(left<i-1)
		Qsort(x,left,i-1);
	if(j+1<right)
		Qsort(x,j+1,right);
}

void swap(unsigned long x[],int i,int j){
	unsigned long temp;
	temp=x[i];
	x[i]=x[j];
	x[j]=temp;
}