Олимпиадный тренинг

Задача . B. Сережа и лесенка


Сережа очень любит последовательности целых чисел. В особенности он любит последовательности лесенки.

Последовательность a1, a2, ..., a|a| (|a| — длина последовательности) называется лесенкой, если существует такой индекс i (1 ≤ i ≤ |a|), что выполяется соотношение:

a1 < a2 < ... < ai - 1 < ai > ai + 1 > ... > a|a| - 1 > a|a|.

Например, последовательности [1, 2, 3, 2] и [4, 2] являются лесенками, а последовательность [3, 1, 2] — нет.

У Сережи есть m карточек с числами. Он хочет выложить некоторые карточки на стол в ряд, чтобы получилась последовательность лесенка. Какое максимальное количество карточек, ему удастся выложить на стол?

Входные данные

В первой строке записано целое m (1 ≤ m ≤ 105) — количество карточек у Сережи. Во второй строке записаны m целых чисел bi (1 ≤ bi ≤ 5000) — числа на карточках, которые есть у Сережи.

Выходные данные

В первой строке выведите количество карточек, которое удастся выложить на стол. Во второй строке выведите саму лесенку, которая получится.


Примеры
Входные данныеВыходные данные
1 5
1 2 3 4 5
5
5 4 3 2 1
2 6
1 1 2 2 3 3
5
1 2 3 2 1

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя