Problem: You are given a string consisting of lowercase Latin characters. You need to partition this string into some substrings, such that each substring is not a palindrome.
A partition of a string is an ordered sequence of some strings , such that , where here represents the concatenation operation.
A string is considered a palindrome if it reads the same backwards as forwards. For example, , , and are palindromes, but , , and are not.
Input Format: Each test contains multiple test cases. The first line contains an integer () — the number of test cases.
Each test case contains a string consisting of lowercase Latin characters ().
It is guaranteed that the sum of over all test cases does not exceed .
Output Format: For each test case, print on one line "YES" if there exists a partition of whose parts are not palindromes, or "NO" if there is no such partition.
If the answer is "YES", on the second line, print an integer — the number of parts that needs to be partitioned to such that each part is not a palindrome. On the third line, print strings representing such a partition. If there are multiple such partitions, print any of them.
Note: In the first test case, since is already non-palindrome, the partition is valid.
In the second test case, as any substring of the string is palindrome, there are no valid partitions.
In the third test case, another valid partition is .