Дана строка s, состоящая из строчных букв латинского алфавита. Будем обозначать длину строки |s|. Нумерация символов в этой строке начинается с 1.
Определите, возможно ли в строке s так переставить символы, чтобы для любого простого числа p ≤ |s| и для любого целого i в диапазоне от 1 до |s| / p (включительно) выполнялось условие sp = sp × i. В случае положительного ответа найдите один из способов так переставить символы.
Выходные данные
Если в строке можно переставить символы так, чтобы выполнялись перечисленные выше условия, то выведите в первой строке «YES» (без кавычек) и во второй — одну из возможных получившихся строк. Если такая перестановка невозможна, выведите одну строку «NO».
Примечание
В первом примере подойдет любая из шести возможных строк «abc», «acb», «bac», «bca», «cab» или «cba».
Во втором примере никакая перестановка букв не будет выполнять условие при p = 2 (s2 = s4).
Третий тест — подойдет любая строка, в которой символ «y» не стоит на позиции 2, 3, 4, 6.
Примеры
| № | Входные данные | Выходные данные |
|
1
|
abc
|
YES
abc
|
|
2
|
abcd
|
NO
|
|
3
|
xxxyxxx
|
YES
xxxxxxy
|