#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;
}