Жили и Джили решили путешествовать по всему миру, чтобы искоренить весь хаос. Они начинают в определённой локации и хотят посетить каждый регион ровно один раз.
Дан ориентированный граф с $$$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» будут приняты как положительный ответ.
571 3 6 3 2 1 594 2 9 8 5 8 5 7 983 4 4 5 6 1 8 21155 4 2 5 5
Yes7 5 2 4 3 6 1NoYes1 3 7 8 2 4 5 6Yes1No
В первом наборе входных данных, рисунок ниже иллюстрирует гамильтонов цикл $$$1 \to 7 \to 5 \to 2 \to 4 \to 3 \to 6 \to 1$$$.
Во втором наборе входных данных, поскольку нет вершин, которые могут достичь вершину $$$1$$$, гамильтонов цикл отсутствует.
| Название |
|---|


