var
n, i, p, l, r, s : Integer;
a : array [1..100] of Integer;
begin
ReadLn(n);
for i := 1 to n do
Read(a[i]);
ReadLn(p);
l := 1; r := n;
while l < r do begin
s := (l+r) div 2;
if a[s] < p then
l := s+1
else
r := s
end;
Move(a[l], a[l+1], (n-l+1)*SizeOf(Integer));
a[l] := p;
for i := 1 to n+1 do
Write(a[i], ' ')
end.
CnZhcgogICAgbiwgaSwgcCwgbCwgciwgcyA6IEludGVnZXI7CiAgICBhIDogYXJyYXkgWzEuLjEwMF0gb2YgSW50ZWdlcjsKCmJlZ2luCiAgICBSZWFkTG4obik7CiAgICBmb3IgaSA6PSAxIHRvIG4gZG8KICAgICAgICBSZWFkKGFbaV0pOwoKICAgIFJlYWRMbihwKTsKCiAgICBsIDo9IDE7IHIgOj0gbjsKICAgIHdoaWxlIGwgPCByIGRvIGJlZ2luCiAgICAgICAgcyA6PSAobCtyKSBkaXYgMjsKICAgICAgICBpZiBhW3NdIDwgcCB0aGVuCiAgICAgICAgICAgIGwgOj0gcysxCiAgICAgICAgZWxzZQogICAgICAgICAgICByIDo9IHMKICAgIGVuZDsKCiAgICBNb3ZlKGFbbF0sIGFbbCsxXSwgKG4tbCsxKSpTaXplT2YoSW50ZWdlcikpOwogICAgYVtsXSA6PSBwOwoKICAgIGZvciBpIDo9IDEgdG8gbisxIGRvCiAgICAgICAgV3JpdGUoYVtpXSwgJyAnKQplbmQuCgoJ