#CF2047B. 替换字符

替换字符

B. 替换字符
每个测试点时间限制:11
每个测试点内存限制:256256 兆字节

给定一个长度为 nn 的字符串 ss,仅由小写英文字母组成。

你必须恰好执行一次以下操作:

  • 选择任意两个下标 iijj1i,jn1 \le i, j \le n)。可以选择 i=ji = j
  • si:=sjs_i := s_j

你需要最小化 ss 的不同排列† 的数量。输出执行恰好一次操作后,具有最少不同排列数的任意一个字符串。

† 字符串的排列是指将其字符按任意顺序重新排列。例如,"bac""abc" 的一个排列,但 "bcc" 不是。

输入
每个测试包含多个测试用例。第一行包含整数 tt1t5001 \le t \le 500),表示测试用例的数量。
每个测试用例的描述如下:
第一行包含 nn1n101 \le n \le 10)——字符串 ss 的长度。
第二行包含长度为 nn 的字符串 ss,仅由小写英文字母组成。

输出
对于每个测试用例,输出执行恰好一次操作后所需的字符串。如果有多个解,输出任意一个。

样例

输入

6
3
abc
4
xyyx
8
alphabet
1
k
10
aabbccddee
6
ttbddq

输出

cbc
yyyx
alphaaet
k
eabbccddee
tttddq

样例解释
第一个测试用例:通过一次操作可以得到的字符串有 "abc""bbc""cbc""aac""acc""aba""abb"
"abc"66 种不同排列:"abc""acb""bac""bca""cab""cba"
"cbc"33 种不同排列:"bcc""cbc""ccb",这是所有可得到的字符串中最少的。实际上,除了 "abc" 之外的所有可得到字符串都有 33 种排列,因此其中任何一个都会被接受。