#include <stdio.h>
int main() {
    int n = 0;
    int a[20] = { 0 };
    int m = 0;
    int i = 0;
    //输入第一行
    scanf("%d", &n);
    //循环输入第二行
    for (i = 0; i < n; i++) {
        scanf("%d", &a[i]);
    }
    //第三行
    scanf("%d", &m);
    //从后面开始找如果找到比m大的继续往前找
    for (i = n-1 ; i >=0; i--) {
        if (a[i] > m) {
            a[i + 1] = a[i];
        } else {  //如果前一项比m小,那么m就放在这里
            a[i + 1] = m;
            break;
        }
    }
    if (i < 0) {  //还有一种情况就是一直找到最前面发现m都比其他的小,那么把第一个元素放m
        a[0] = m;
    }
    for (int i = 0; i < n+1 ; i++) { //打印输出排序好的数组
        printf("%d ", a[i]);
    }
    return 0;
}