#B1066. 【ZCX-008-DIV2】D. 字符串

【ZCX-008-DIV2】D. 字符串

题目描述

给定一个只包含小写英文字母的字符串 SS

请判断是否可以重新排列 SS 中的字符,使得重新排列后的字符串中,任意两个相邻字符都不同。

如果可以,请输出任意一种满足条件的重新排列结果。

你需要处理 TT 组测试数据。

输入格式

第一行输入一个整数 TT,表示测试数据组数。

接下来 TT 行,每行输入一个字符串 SS

输出格式

按顺序输出每组测试数据的答案。

对于每组测试数据:

如果无法重新排列,使得任意相邻字符都不同,输出:

No

如果可以,设满足条件的重排字符串为 SS',输出:

Yes
S'

如果有多种合法答案,输出任意一种即可。

输入输出样例 #1

输入 #1

3
aiiw
doodoo
aabbababcacababaaba

输出 #1

Yes
iwai
No
Yes
ababacabababacababa

说明/提示

样例解释

对于第一组数据:

aiiw

可以重新排列成:

iwai

此时没有两个相邻字符相同,因此输出是正确的。

其他合法答案还包括:

wiai
iawi

数据范围

对于所有数据,满足:

1T3×1051 \le T \le 3 \times 10^5

1S1061 \le |S| \le 10^6

SS 只包含小写英文字母。

所有测试数据中,字符串长度之和不超过 10610^6