#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<ctype.h>

void shellsort(int arr[],int n){
    for(int gap=n/2;gap>0;gap/=2){
        for(int i=gap;i<n;i++){
            int temp=arr[i];
            int j;
            for(j=i;j>=gap && arr[j-gap]<temp;j-=gap){
                arr[j]=arr[j-gap];
            }
            arr[j]=temp;
        }
    }
}
int isInteger(char *str){
    if(*str=='-'||*str=='+')str++;
    if(!*str)return 0;
    while (*str){
        if(!isdigit(*str))return 0;
        str++;
    }
    return 1;
}
int main(){
    int n;
    char line[200];
    if(!fgets(line,sizeof(line),stdin)){
        printf("Invalid input\n");
        return 0;
    }
    if(!isInteger(line)){
        printf("Invalid input\n");
        return 0;
    }
    n=atoi(line);
    
    if(n<1||n>15){
        printf("Invalid input\n");
        return 0;
        }
        if(!fgets(line,sizeof(line),stdin)){
            printf("Invalid input");
            return 0;
        }
        int arr[20],count=0;
        char *token =strtok(line," \n");
        while(token !=NULL){
            if(!isInteger(token)){
                printf("Invalid input");
                return 0;
            }
            int val=atoi(token);
            if(val< -1000 || val>1000){
                printf("Invalid input");
                return 0;
            }
            arr[count++]=val;
            token =strtok(NULL," \n");
        }
        if(count !=n){
            printf("Invalid input");
            return 0;
        }
        shellSort(arr,n);
        
        for(int i=0;i<n;i++){
          printf("%d",arr[i]);
          if(i<n-1)printf(" ");
        }
        
        printf("\n");
        return 0;
        
        
        
        
        
        
    }