Наибольшая возрастающая подпоследовательность с восстановлением ответа

Дана последовательность, требуется найти её наибольшую возрастающую подпоследовательность.

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

В первой строке входных данных задано число $N$ - длина последовательности (1 ≤ $N$ ≤ 1000). Во второй строке задается сама последовательность (разделитель - пробел). Элементы последовательности - целые числа, не превосходящие 10000 по модулю.

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

Требуется вывести наибольшую возрастающую подпоследовательность данной последовательности. Если таких подпоследовательностей несколько, необходимо вывести одну (любую) из них.

Примеры
Входные данные
6
3 29 5 5 28 6
Выходные данные
3 5 28

Задача на informatics