eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Возрастающая подпоследовательность

Возрастающая подпоследовательность

Лимит времени 1 секунда
Лимит использования памяти 128 MiB

Даны n целых чисел x_1, x_2, ..., x_n. Вычеркните из них наименьшее количество чисел так, чтобы оставшиеся шли в порядке возрастания.

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

В первой строке находится число n~(1 \le n \le 10^5). Во второй строке заданы числа x_1, x_2, ..., x_n~(1 \le x_i \le 60000).

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

Выведите в первой строке количество невычеркнутых чисел, во второй — сами невычеркнутые числа в исходном порядке. Если вариантов несколько, то выведите любой.

Пример

Входные данные #1
6
2 5 3 4 6 1
Выходные данные #1
4
2 3 4 6