Codeforces Round 56-B. Letters Rearranging(思维)

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

You are given a string ss consisting only of lowercase Latin letters.

You can rearrange all letters of this string as you wish. Your task is to obtain a good string by rearranging the letters of the given string or report that it is impossible to do it.

Let's call a string good if it is not a palindrome. Palindrome is a string which is read from left to right the same as from right to left. For example, strings "abacaba", "aa" and "z" are palindromes and strings "bba", "xd" are not.

You have to answer tt independent queries.

Input

The first line of the input contains one integer tt (1≤t≤1001≤t≤100) — number of queries.

Each of the next tt lines contains one string. The ii-th line contains a string sisi consisting only of lowercase Latin letter. It is guaranteed that the length of sisi is from 11 to 10001000 (inclusive).

Output

Print tt lines. In the ii-th line print the answer to the ii-th query: -1 if it is impossible to obtain a good string by rearranging the letters of sisiand any good string which can be obtained from the given one (by rearranging the letters) otherwise.

Example

input

Copy

3
aa
abacaba
xdd

output

Copy

-1
abaacba
xdd

Note

In the first query we cannot rearrange letters to obtain a good string.

Other examples (not all) of correct answers to the second query: "ababaca", "abcabaa", "baacaba".

In the third query we can do nothing to obtain a good string.

题解:排个序看是否是回文串即可

代码:

#include<cstdio>
#include<iostream>
#include<algorithm>
#include<cstring>

using namespace std;


int main()
{
	int n;
	cin>>n;
	char s1[1005];
	for(int t=0;t<n;t++)
	{
		scanf("%s",s1);
		sort(s1,s1+strlen(s1));
		int cnt=0;
		for(int j=1;j<strlen(s1);j++)
		{
			if(s1[j]==s1[j-1])
			{
				cnt++;
			}
		}
		if(cnt==strlen(s1)-1)
		{
			printf("-1\n");
		}
		else
		{
			puts(s1);
		}
	}
	

	return 0;
} 

 

转载于:https://www.cnblogs.com/Staceyacm/p/10781920.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值