E1. Минимизация перестановки деком
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

На самом деле, задачи E1 и E2 не имеют много общего. Вероятно, вам надо воспринимать их как две отдельные задачи.

Дана перестановка $$$p$$$ размера $$$n$$$. Перестановкой размера $$$n$$$ называется массив размера $$$n$$$, в котором каждое целое число от $$$1$$$ до $$$n$$$ встречается по одному разу. Например, $$$[1, 4, 3, 2]$$$ и $$$[4, 2, 1, 3]$$$ являются перестановками, а $$$[1, 2, 4]$$$ и $$$[1, 2, 2]$$$ — нет.

Рассмотрим пустой дек (двухстороннюю очередь). Дек — это структура данных, поддерживающая добавление элементов как в начало, так и в конец. Так, если сейчас в деке лежат элементы $$$[1, 5, 2]$$$, при добавлении элемента $$$4$$$ в начало получится последовательность $$$[\color{red}{4}, 1, 5, 2]$$$, а при добавлении в конец — $$$[1, 5, 2, \color{red}{4}]$$$.

Элементы перестановки по очереди перемещаются в изначально пустой дек, начиная с $$$p_1$$$ и заканчивая $$$p_n$$$. Перед добавлением каждого элемента в дек разрешается выбрать, добавить его в начало или в конец.

Например, если рассмотреть перестановку $$$p = [3, 1, 2, 4]$$$, то одна из возможных последовательностей действий выглядит так:

$$$\quad$$$ 1.положить $$$3$$$ в конец дека:в деке лежит $$$[\color{red}{3}]$$$;
$$$\quad$$$ 2.положить $$$1$$$ в начало дека:в деке лежит $$$[\color{red}{1}, 3]$$$;
$$$\quad$$$ 3.положить $$$2$$$ в конец дека:в деке лежит $$$[1, 3, \color{red}{2}]$$$;
$$$\quad$$$ 4.положить $$$4$$$ в конец дека:в деке лежит $$$[1, 3, 2, \color{red}{4}]$$$;

Найдите лексикографически минимальную возможную последовательность элементов в деке после того, как будет обработана вся перестановка.

Последовательность $$$[x_1, x_2, \ldots, x_n]$$$ лексикографически меньше последовательности $$$[y_1, y_2, \ldots, y_n]$$$, если существует такое $$$i \leq n$$$, что $$$x_1 = y_1$$$, $$$x_2 = y_2$$$, $$$\ldots$$$, $$$x_{i - 1} = y_{i - 1}$$$ и $$$x_i < y_i$$$. Иными словами, если последовательности $$$x$$$ и $$$y$$$ имеют некоторое (возможно, пустое) совпадающее начало, а следующий элемент последовательности $$$x$$$ строго меньше соответствующего элемента последовательности $$$y$$$. Например, последовательность $$$[1, 3, 2, 4]$$$ меньше последовательности $$$[1, 3, 4, 2]$$$, так как после совпадающего начала $$$[1, 3]$$$ в первой последовательности идет меньшее число ($$$2$$$), чем во второй ($$$4$$$).

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

В первой строке записано целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных.

В следующих $$$2t$$$ строках даны описания наборов входных данных.

В описании каждого набора входных данных первая строка содержит целое число $$$n$$$ ($$$1 \le n \le 2 \cdot 10^5$$$) — размер перестановки, а во второй строке через пробел перечислены $$$n$$$ целых чисел $$$p_i$$$ ($$$1 \le p_i \le n$$$; все $$$p_i$$$ различны) — элементы перестановки.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2 \cdot 10^5$$$.

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

Выведите $$$t$$$ строк, каждая из которых содержит ответ на соответствующий набор входных данных. В качестве ответа выведите через пробел $$$n$$$ чисел — элементы лексикографически минимальной перестановки, которую возможно получить в деке после выполнения описанного алгоритма.

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

Один из способов получить лексикографически минимальную перестановку $$$[1, 3, 2, 4]$$$ из перестановки $$$[3, 1, 2, 4]$$$ (первый набор входных данных из примера) описан в условии задачи.