AT_abc459_d [ABC459D] Adjacent Distinct String
Description
英小文字からなる文字列 $ S $ が与えられます。
$ S $ の各文字を並び替えることでどの隣り合う $ 2 $ 文字も異なるようにすることが可能か判定し、可能な場合はそのような並び替えを一つ求めてください。
$ T $ 個のテストケースが与えられるので、それぞれについて答えを求めてください。
Input Format
入力は以下の形式で標準入力から与えられる。
> $ T $ $ \text{case}_1 $ $ \text{case}_2 $ $ \vdots $ $ \text{case}_T $
$ i $ 番目 $ (1\le i\le T) $ のテストケース $ \text{case}_i $ は以下の形式で与えられる。
> $ S $
Output Format
各テストケースに対する答えを順に改行区切りで出力せよ。
各テストケースについて、どの隣り合う $ 2 $ 文字も異なるように $ S $ を並び替えることが不可能な場合は `No` を出力せよ。
可能な場合はそのような並び替えを $ S' $ として以下の形式で出力せよ。
> Yes $ S' $
条件を満たす $ S $ の並び替え方が複数存在する場合、どれを出力しても正答となる。
Explanation/Hint
### Sample Explanation 1
$ 1 $ 番目のテストケースについて考えます。
`iwai` は `aiiw` を並び替えてできる文字列で、どの隣接する $ 2 $ 文字も異なります。したがって、`iwai` を出力すると正答となります。
この他にも、`wiai` や `iawi` などを出力しても正答となります。
### Constraints
- $ 1\le T\le 3\times 10^5 $
- $ S $ は英小文字からなる長さ $ 1 $ 以上 $ 10^6 $ 以下の文字列
- 全てのテストケースにおける $ S $ の長さの総和は $ 10^6 $ 以下