Дано рядок \(S\). Визначити, чи можливо переставити символи рядка таким чином, що в результатi утворився палiндром. Палiндром, це слово, яке однаково читається в обох напрямках (злiва направо та справа налiво).
Формат вхідних даних
Вхiдний потiк мiстить рядок \(S\) \((1 \le S \le 10^5 )\), який мiстить лише символи дiапазону ’a’..’z’.
Формат вихідних даних
Вивести YES, якщо можна утворити палiндром iз символiв даного рядка або NO в iншому випадку.
Приклад вхідних даних
aaabbbb
Приклад вихідних даних
YES
Пояснення
Приклад паліндрома для вхідних даних:
bababab
Коментарі