G. Циклические палиндромы
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Мы говорим, что последовательность из $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$ является палиндромом, если для всех $$$1 \leq i \leq n$$$ выполняется $$$a_i = a_{n-i+1}$$$. Вам дана последовательность из $$$n$$$ целых чисел $$$a_1, a_2, \ldots, a_n$$$, и вы должны найти, если она существует, такую циклическую перестановку $$$\sigma$$$, что последовательность $$$a_{\sigma(1)}, a_{\sigma(2)}, \ldots, a_{\sigma(n)}$$$ — палиндром.

Перестановка $$$1, 2, \ldots, n$$$ — это биективная функция из $$$\{1, 2, \ldots, n\}$$$ в $$$\{1, 2, \ldots, n\}$$$. Мы говорим, что перестановка $$$\sigma$$$ является циклической перестановкой, если $$$1, \sigma(1), \sigma^2(1), \ldots, \sigma^{n-1}(1)$$$ — попарно различные числа. Здесь $$$\sigma^m(1)$$$ обозначает $$$\underbrace{\sigma(\sigma(\ldots \sigma}_{m \text{ раз}}(1) \ldots))$$$.

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

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

Первая строка каждого набора входных данных содержит целое число $$$n$$$ ($$$2 \leq n \leq 2 \cdot 10^5$$$) — длину последовательности.

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

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

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

Для каждого набора входных данных выведите одну строку с «YES», если необходимая циклическая перестановка существует, иначе выведите одну строку с «NO».

Если ответ «YES», выведите еще одну строку с $$$n$$$ целыми числами $$$\sigma(1), \sigma(2), \ldots, \sigma(n)$$$ — перестановкой. Если существует более одной подходящей перестановки, вы можете вывести любую.

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