#include<stdio.h>
#include<malloc.h>
int main(void)
{
    int n,m;
    scanf("%d",&n);
    int *num=(int *)malloc((sizeof(int))*(n+1));
    for(int i=0;i<n;i++)
        scanf("%d",&num[i]);
    int l=n-1;//l用于定位比m小的位置,以便于将m插入到数组中
    scanf("%d",&m);
    while(l>=0&&num[l]>m)//寻找比m小的位置在哪
        l--;
    l=l+1;//因为定位到的是从后往前第一个比m小的元素位置,所以l要+1,用以表示m要插入的准确位置
    for(int i=n;i>=l;i--)//找到之后,逐个将数组后面的元素都往后挪,以腾出插入的位置
        num[i]=num[i-1];
    num[l]=m;//插入m
    for(int i=0;i<=n;i++)
        printf("%d ",num[i]);
    return 0;
}