#include<stdio.h>
int main(){
    int* arr;//数组
    int n=0;//个数
     scanf("%d",&n);
    arr=(int *)malloc(sizeof(int)*(n+1));//根据k的大小来规定数组的大小
    int number=0;//插入的数字
    for(int i=0;i<n;i++){//输入有序数
        scanf("%d",&arr[i]);
    }
    scanf("%d",&number);//输入要插入的数
     int j=n;//赋值用于存储插入位置,和遍历数组
    for(;arr[j-1]>number;j--){//从后往前遍历数组
            arr[j]=arr[j-1];//大数都往后移动
    }//移动结束后j存储的即为空出来的插入位
    arr[j]=number;
    for(int i=0;i<n+1;i++){
        printf("%d ",arr[i]);
    }
    return 0;
}