#C9203. Palindrome Permutation Checker
Palindrome Permutation Checker
Palindrome Permutation Checker
You are given a string s. Your task is to determine if any permutation of s can form a palindrome. A palindrome is a string that reads the same forwards and backwards. For a string to be able to form a palindrome, the frequency counts of its characters must satisfy the following condition:
At most one character can have an odd frequency. In other words, if we denote the frequency of each character by \( f(c) \), then the string can be rearranged into a palindrome if and only if \[ \sum_{c} \left[ f(c) \mod 2 \neq 0 \right] \le 1, \] where \( [P] \) is 1 if the predicate \(P\) is true and 0 otherwise.
Input is read from stdin
and output is written to stdout
.
inputFormat
The input consists of a single line containing a non-empty string s composed of lowercase and/or uppercase English letters.
outputFormat
Output a single line "YES" if any permutation of the string s can form a palindrome. Otherwise, output "NO".
## samplecivic
YES