#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>

void merge(int a[], int l,  int m,  int r){
    int n1= m-l+1;
    int n2= r-m;
    
    int left[n1], right[n2];
    
    for(int i=0;i<n1;i++)
    left[i]= a[l+i];
    for(int j=0;j<n2;j++)
    right[j]= a[m+1+j];
    
    int i=0,j=0,k=l;
    
    while(i<n1 && j<n2){
        if(left[i]<=right[j])
        
            a[k++] = left[i++];
        else
            a[k++] =right[j++];
    }
    while(i<n1)
        a[k++] = left[i++];
    while(j<n2)
                    a[k++] =right[j++];
}

void sort(int a[],int l, int r){
    if(l<r){
        int m= l+(r-l)/2;
        sort(a,l,m);
        sort(a,m+1,r);
        merge(a,l,m,r);
    }
}
int main(){
    int n;
    if( scanf("%d", &n) !=1 || n<=0){
           printf("Invalid input");
           return 0;
    }
    int a[n];
    bool isValid = true;
    
    for(int i=0; i<n; i++){
       if( scanf("%d", &a[i]) !=1){
        isValid= false;

    }
}
if(!isValid){
    printf("Invalid input");
}
else{
    sort(a,0,n-1);
    for (int i=0;i<n;i++){
        printf("%d ", a[i]);
        if(i!= n-1){
            printf (" ");
        }
         printf("\n");
    }
    
    return 0;