Олимпиадный тренинг

Задача . B. Различные строки


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

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

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

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

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

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

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

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

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

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

Примечание

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

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


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

time 1000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w643
Комментарий учителя