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