Generation

generate functionThu, 18 May 2023

# A palindrome is a string that reads the same from left to right as from right to left. For example, abacaba, aaaa, abba, racecar are palindromes. You are given a string s consisting of lowercase Latin letters. The string s is a palindrome. You have to check whether it is possible to rearrange the letters in it to get another palindrome (not equal to the given string s). Input The first line contains a single integer t (1≤t≤1000) — the number of test cases. The only line of each test case contains a string s (2≤∣s∣≤50) consisting of lowercase Latin letters. This string is a palindrome. Output For each test case, print YES if it is possible to rearrange the letters in the given string to get another palindrome. Otherwise, print NO. You may print each letter in any case (YES, yes, Yes will all be recognized as positive answer, NO, no and nO will all be recognized as negative answer).

``````def checkPalindrome(s):
if s == s[::-1]:
return True
else:
return False

def possiblePalindrome(s):
if len(s) == 2:
return 'Yes'
if len(s) > 2:
if checkPalindrome(s):
if len(s) == 3:
return 'Yes'
if len(s) % 2 == 0:
if len(set(s)) % 2 == 1:
return 'No'
else:
return 'Yes'
if len(s) % 2 != 0:
if len(set(s)) % 2 == 0:
return 'No'
else:
return 'Yes'
else:
return 'No'

def main():
test = int(input())
for i in range(test):
s = input()
print(possiblePalindrome(s))

if __name__ == "__main__":
main()``````