B. В конец со штрафом
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дан массив целых чисел $$$a$$$ длиной $$$n$$$. Вы можете выполнять следующую операцию ноль или более раз:

  • За одну операцию вы выбираете индекс $$$i$$$ ($$$1 \le i \le n$$$), присваиваете $$$a_i := a_i + 1$$$, и затем перемещаете $$$a_i$$$ в конец массива (в самую правую позицию). Например, если $$$a = [3, 5, 1, 9]$$$, и вы выбрали $$$i = 2$$$, массив станет $$$[3, 1, 9, 6]$$$.

Найдите лексикографически наименьший$$$^{\text{∗}}$$$ массив, который вы можете получить, выполняя эти операции.

$$$^{\text{∗}}$$$Массив $$$c$$$ лексикографически меньше массива $$$d$$$, если и только если выполняется одно из следующего:

  • $$$c$$$ — префикс $$$d$$$, но $$$c \ne d$$$; или
  • в первой позиции, где $$$c$$$ и $$$d$$$ различны, в массиве $$$c$$$ элемент меньше, чем соответствующий элемент в $$$d$$$.
Входные данные

Каждый тест состоит из нескольких наборов входных данных. В первой строке находится одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора содержит одно целое число $$$n$$$ ($$$1 \le n \le 10^5$$$), длину массива.

Вторая строка содержит $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ ($$$1 \le a_i \le 10^9$$$), элементы массива.

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

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

Для каждого набора входных данных выведите лексикографически наименьший массив, который вы можете получить.

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