#include<stdio.h>
int main()
{
int n = 0;
scanf("%d", &n);//输入原数列中元素总数
int a[51] = {0};
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);//输入原数列中的元素
}
int x = 0;
scanf("%d", &x);//输入要插入的数
int temp = 0;
for (int i = 0; i < n - 1; i++)//冒泡排序 从小到大
{
for (int j = 0; j < n - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < n; i++)//寻找排列完毕后的数列中第一个比x大的数,从这个数到最
{ //后一个数依次往后挪一位,x插入原本第一个比x大的数的位置
if (x < a[i])
{
for (int j = n - 1; j >= i; j--)
{
a[j + 1] = a[j];
}
a[i] = x;
break;
}
}
if (x > a[n - 1])//如果数列中没有比x大的元素,直接把x放到最后元素的后面
{
a[n] = x;
}
for (int i = 0; i < n + 1; i++)
{
printf("%d ", a[i]);
}
return 0;
}
int main()
{
int n = 0;
scanf("%d", &n);//输入原数列中元素总数
int a[51] = {0};
for (int i = 0; i < n; i++)
{
scanf("%d", &a[i]);//输入原数列中的元素
}
int x = 0;
scanf("%d", &x);//输入要插入的数
int temp = 0;
for (int i = 0; i < n - 1; i++)//冒泡排序 从小到大
{
for (int j = 0; j < n - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
for (int i = 0; i < n; i++)//寻找排列完毕后的数列中第一个比x大的数,从这个数到最
{ //后一个数依次往后挪一位,x插入原本第一个比x大的数的位置
if (x < a[i])
{
for (int j = n - 1; j >= i; j--)
{
a[j + 1] = a[j];
}
a[i] = x;
break;
}
}
if (x > a[n - 1])//如果数列中没有比x大的元素,直接把x放到最后元素的后面
{
a[n] = x;
}
for (int i = 0; i < n + 1; i++)
{
printf("%d ", a[i]);
}
return 0;
}