Строка из палиндромов

Подсчитаем количество вхождений каждой буквы в строку. Каждая буква, которая встречается нечетное количество раз, должна быть серединой некоторого палиндрома нечетной длины (возможно, длины $$$1$$$), так как для нее нет парной буквы.

Тогда минимальное количество палиндромов, которое можно составить, равно количеству букв, встречающихся нечетное количество раз. Обозначим их количество за $$$k$$$. Если это число больше $$$m$$$, то ответ – NO.

Иначе, если $$$k \le m$$$, то построим $$$k$$$ палиндромов, в центрах которых – нечетные буквы. Если $$$k < m$$$, то оставшиеся $$$m-k$$$ палиндромов построим, используя оставшиеся буквы, количество которых четно.

Так как $$$m \le n$$$, то еще $$$m-k$$$ букв в слове точно есть. Получить ровно $$$m$$$ палиндромов можно, например, следующим образом:

Ответ в этих случаях будет YES.