Сережа и лесенка
Сережа очень любит последовательности целых чисел. В особенности он любит последовательности лесенки.
Последовательность a1, a2, ..., a|a| (|a| — длина последовательности) называется лесенкой, если существует такой индекс i (1 ≤ i ≤ |a|), что выполяется соотношение:
Например, последовательности [1, 2, 3, 2] и [4, 2] являются лесенками, а последовательность [3, 1, 2] — нет.
У Сережи есть m карточек с числами. Он хочет выложить некоторые карточки на стол в ряд, чтобы получилась последовательность лесенка. Какое максимальное количество карточек ему удастся выложить на стол?
В первой строке записано целое m (1 ≤ m ≤ 105) — количество карточек у Сережи. Во второй строке записаны m целых чисел bi (1 ≤ bi ≤ 5000) — числа на карточках, которые есть у Сережи.
В первой строке выведите количество карточек, которое удастся выложить на стол. Во второй строке выведите саму лесенку, которая получится.
5
1 2 3 4 5
5
5 4 3 2 1
6
1 1 2 2 3 3
5
1 2 3 2 1
Задача на Codeforces (контест 381, задача B, © Codeforces.com)