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 $ 以下