У Ивана есть массив, состоящий из n различных целых чисел. Он решил упорядочить элементы массива по возрастанию. Так как Иван является фанатом сортировки слиянием, он решил представить массив в виде одной или нескольких возрастающих последовательностей, которые затем он планирует слить в один отсортированный массив.
Представление массива в виде возрастающих последовательностей Иван формирует с помощью следующего алгоритма.
До тех пор, пока в массиве есть хотя бы одно невыписанное число, он повторяет следующую процедуру:
Например, если массив Ивана имеет вид [1, 3, 2, 5, 4], то всего он выполнит два просмотра. На первом из них он выпишет числа [1, 3, 5], а на втором — [2, 4].
Напишите программу, которая автоматизирует подготовительную работу Ивана — найдёт представление заданного массива в виде одной или нескольких возрастающих последовательностей в соответствии с описанным выше алгоритмом.
В первой строке содержится целое положительное число n (1 ≤ n ≤ 2·105) — количество чисел в массиве Ивана.
Во второй строке содержится последовательность различных целых чисел a1, a2, ..., an (1 ≤ ai ≤ 109) — массив Ивана.
Выведите представление заданного массива в виде одной или нескольких возрастающих последовательностей в соответствии с описанным выше алгоритмом. Каждую последовательность выводите на новой строке.
5
1 3 2 5 4
1 3 5
2 4
4
4 3 2 1
4
3
2
1
4
10 30 50 101
10 30 50 101
Название |
---|