Изменения рейтингов за последние раунды временно удалены. Скоро они будут возвращены. ×

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

Вам дана строка $$$s$$$, состоящая из строчных латинских букв.

Переставьте символы $$$s$$$, чтобы получить новую строку $$$r$$$, которая не равна $$$s$$$, или сообщите, что это невозможно.

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

Первая строка содержит одно целое число $$$t$$$ ($$$1 \leq t \leq 1000$$$) — количество наборов входных данных.

Единственная строка каждого набора содержит строку $$$s$$$ длиной не более $$$10$$$ символов, состоящую из строчных букв английского алфавита.

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

Для каждого набора входных данных, если такая строка $$$r$$$ не существует в соответствии с условием, выведите «NO» (без кавычек).

В противном случае выведите «YES» (без кавычек). Затем выведите одну строку — строку $$$r$$$, состоящую из символов строки $$$s$$$.

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

Если существует несколько ответов, вы можете вывести любой из них.

Пример
Входные данные
8
codeforces
aaaaa
xxxxy
co
d
nutdealer
mwistht
hhhhhhhhhh
Выходные данные
YES
forcodesec
NO
YES
xxyxx
YES
oc
NO
YES
undertale
YES
thtsiwm
NO
Примечание

В первом примере другой возможный ответ — $$$\texttt{forcescode}$$$.

Во втором примере все перестановки $$$\texttt{aaaaa}$$$ равны $$$\texttt{aaaaa}$$$.