//使用动态数组方法
#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<stdlib.h>
using namespace std;
int main()
{
    int* arr;
    int n;
    int i;
    scanf("%d", &n);
    arr = (int*)malloc((n+1) * 4);
    for (i = 0; i < n; i++)
        scanf("%d", arr + i);
 //        这里和插入排序方法一样
    int z;
    scanf("%d", &z);
    for (i = n-1; i >=0; i--)
    {
        if (z < arr[i])
            arr[i + 1] = arr[i];
        else
            break;
    }
    arr[i+1] = z;
    for(i=0;i<=n;i++)
        printf("%d ", arr[i]);
    printf("\n");
free(arr);
    return 0;
}