BAD String
题号:NC200581
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

给定一个只含大写字母的字符串S。
lililalala认为如果一个串含有`"BAD"`子串,那么这个串是BAD String ,反之如果不含`"BAD"`子串则不是。
现在lililalala**必须**选择S串中两个**不同**位置上的字母并将它们交换,然后得到一个新的串S',请问lililalala是否可以使得交换完毕后S’串不是一个BAD String。如果可以,请输出一种可能得到的S’,否则请作出不存在的判断。
一个串的子串可以理解为该串中连续的一段。

输入描述:

第一行一个数字,表示样例个数。 
其中每个样例:
仅包含一行一个只含大写字母的字符串S。
保证S的长度在[2,2000]内。

输出描述:

每个样例输出一行。 
如果可以得到不是BAD String的S’,请输出任意一个符合要求S’的
如果不存在任何符合条件的S’,请输出"-1"(不带引号)。

示例1

输入

复制
9
ABD
ADB
BAD
BDA
DAB
DBA
BDD
BADBAD
BADBADBAD

输出

复制
DBA
BDA
DAB
ADB
DBA
ABD
BDD
BABDAD
-1

说明

第一个样例的样例输出交换了第1个和第3个字符<br/>
第二个样例的样例输出交换了第1个和第3个字符<br/>
第三个样例的样例输出交换了第1个和第3个字符<br/>
第四个样例的样例输出交换了第1个和第3个字符<br/>
第五个样例的样例输出交换了第2个和第3个字符<br/>
第六个样例的样例输出交换了第1个和第3个字符<br/>
第七个样例的样例输出交换了第1个和第3个字符<br/>
第八个样例的样例输出交换了第3个和第4个字符<br/>
第九个样例不存在符合要求的串。<br/>
答案不唯一,只要输出符合题意即可通过。

备注:

对于存在符合条件的的情况,如果你输出的不能由交换**不同**两个位置上的字母得到,或者是一个BAD String,你的程序将被返回"Wrong Answer"

在此题中请不要输出多余的行末空格和多余的换行,否则你的程序可能被返回"Wrong Answer"而不是"Presentation Error"。