410747: GYM104095 K 子串翻转回文串

Memory Limit:512 MB Time Limit:1 S
Judge Style:Text Compare Creator:
Submit:0 Solved:0

Description

K. 子串翻转回文串time limit per test1 secondmemory limit per test512 megabytesinputstandard inputoutputstandard output

给一个串 s = s1s2... sn,你可以选定其一个非空子串,然后将该子串翻转。具体来说,若选定的子串区间为 [l, r]1 ≤ l ≤ r ≤ n),则翻转后该串变为 s1s2... sl - 1srsr - 1... slsr + 1... sn

请你回答仅通过一次上述操作后,s 是否能变成回文串。串 s 是回文串,当且仅当它从左至右读出与从右至左读出完全相同,即 s1s2... sn = snsn - 1... s1

Input

注意:本题包含多组测试数据。

第一行包含一个整数 T1 ≤ T ≤ 5 × 105),表示数据组数。

接下来的 T 行,每行包含一个仅由英文小写字母组成的字符串 s,含义见题目描述,且串长 |s| 满足 1 ≤ |s| ≤ 5 × 105

保证字符串总长 不超过 5 × 105

Output

对于每组测试数据,输出一行一个字符串,若仅通过一次操作后 s 能变成回文串,则输出 Yes,否则输出 No大小写不敏感

ExampleInput
4
abba
bacad
abacbaa
aabadcdca
Output
Yes
No
Yes
Yes
Note

第一组数据中,abba 翻转带下划线的子串得到回文串 abba

第二组数据中,无论如何翻转子串,都不能得到回文串。

第三组数据中,abacbaa 翻转带下划线的子串得到回文串 aabcbaa

第四组数据中,aabadcdca 翻转带下划线的子串得到回文串 acdabadca

加入题单

算法标签: