#include<stdio.h>
int main()
{int a[50],i,n,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d ",&a[i]);}
scanf("%d",&k);
for(i=n-1;i>=0;i--)
{if(a[i]>k)
{ a[i+1]=a[i]; //注意两个语句的顺序,不然后面会出现一样的数据。
a[i]=k;
}else { break;}} //两种情况,1.已经排好序;2.插入的数最大的话,还未排序。
printf("%d ",a[i]);
return 0;}
int main()
{int a[50],i,n,k;
scanf("%d",&n);
for(i=0;i<n;i++)
{scanf("%d ",&a[i]);}
scanf("%d",&k);
for(i=n-1;i>=0;i--)
{if(a[i]>k)
{ a[i+1]=a[i]; //注意两个语句的顺序,不然后面会出现一样的数据。
a[i]=k;
}else { break;}} //两种情况,1.已经排好序;2.插入的数最大的话,还未排序。
a[i+1]=k; //以上两种情况都符合这个公式;(第一种后面有i--,第二种相当于a[n].)可以以实例尝试。
for(i=0;i<n+1;i++)printf("%d ",a[i]);
return 0;}