D. Жили и цикл
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
512 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

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

Дан ориентированный граф с $$$n$$$ вершинами, пронумерованными от $$$1$$$ до $$$n$$$. Для каждой вершины $$$i$$$ ($$$1 \le i \le n$$$) существуют ориентированные ребра из $$$i$$$ во все вершины $$$j$$$, такие что $$$a_i \le j \le n$$$.

Найдите гамильтонов цикл$$$^{\text{∗}}$$$ графа.

$$$^{\text{∗}}$$$Гамильтонов цикл — это цикл, который посещает каждую вершину ровно один раз.

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

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

Первая строка каждого набора входных данных содержит целое число $$$n\,(1 \leq n \leq 10^5)$$$, обозначающее количество вершин графа.

Вторая строка каждого набора входных данных содержит $$$n$$$ целых чисел $$$a_1,a_2,\cdots,a_n\,(1 \leq a_i \leq n)$$$.

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

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

Для каждого набора входных данных, если гамильтонов цикл отсутствует, выведите на отдельной строке «No».

В противном случае выведите в первой строке «Yes». Во второй строке выведите перестановку $$$p_1, p_2, \dots, p_n$$$ ($$$1\le p_i\le n$$$), представляющую порядок посещения вершин в цикле. Если существует несколько решений, выведите любое из них.

Вы можете выводить каждую букву в любом регистре (строчную или заглавную). Например, строки «yEs», «yes», «Yes» и «YES» будут приняты как положительный ответ.

Пример
Входные данные
5
7
1 3 6 3 2 1 5
9
4 2 9 8 5 8 5 7 9
8
3 4 4 5 6 1 8 2
1
1
5
5 4 2 5 5
Выходные данные
Yes
7 5 2 4 3 6 1
No
Yes
1 3 7 8 2 4 5 6
Yes
1
No
Примечание

В первом наборе входных данных, рисунок ниже иллюстрирует гамильтонов цикл $$$1 \to 7 \to 5 \to 2 \to 4 \to 3 \to 6 \to 1$$$.

Во втором наборе входных данных, поскольку нет вершин, которые могут достичь вершину $$$1$$$, гамильтонов цикл отсутствует.