Anti-palindrome strings

4.1

65 votes
Basic Programming
Problem

You are given a string S containing only lowercase alphabets. You can swap two adjacent characters any number of times (including 0).

A string is called anti-palindrome if it is not a palindrome. If it is possible to make a string anti-palindrome, then find the lexicographically smallest anti-palindrome. Otherwise, print 1.

Input format

  • The first line contains a single integer T denoting the number of test cases. The description of T test cases follows.
  • Each line contains a string S of lower case alphabets only.

Output format

For each test case, print the answer in a new line.

Constraints

1T100

2|S|2×105

S contains only lowercase alphabets.

Sample Input
4
bpc
pp
deep
zyx
Sample Output
bcp
-1
deep
xyz
Time Limit: 1
Memory Limit: 256
Source Limit:
Explanation
  • In the first test case, you can create "bcp" which is not a palindrome and it is a lexicographically-smallest string.
  • In the second test case, you cannot form any anti palindrome.
Editor Image

?