#include <stdio.h>
int main(void)
{
int N = 0; //原数组元素个数
scanf("%d", &N);
//有序序列数组
int arr[N+1]; //足够长的数组
int i = 0;
for(i = 0; i < N; i++)
{
scanf("%d", &arr[i]);
}
//新整数插入
int new_z = 0;
scanf("%d", &new_z); //插入整数
int j = 0;
if(arr[N - 1] < new_z) //插入数字最大时
{
arr[N] = new_z;
}
else //插入数字最小或者在中间时
{
for(j = 0; j < N + 1; j++)
{
if(new_z <= arr[j])
{
int k = 0; //可以插入时,用于从数组末尾往前递推,比如arr[5] = arr[4],然后arr[4] = arr[3]
for(k = 0; N - k - 1 >= j; k++) //后一个下标已经到插入的下标时停止
{
arr[N - k] = arr[N - k - 1];
}
arr[j] = new_z; //插入
break;
}
}
}
//打印
for(i = 0; i < N + 1; i++)
{
printf("%d ", arr[i]);
}
return 0;
}