VK Cup 2022 - Отборочный раунд (Engine)
C
Equal Frequencies
Codeforces
1600
原题
← BD →
翻译中…

Let's call a string balanced if all characters that are present in it appear the same number of times. For example, "coder", "appall", and "ttttttt" are balanced, while "wowwow" and "codeforces" are not.

翻译中…

You are given a string $s$ of length $n$ consisting of lowercase English letters. Find a balanced string $t$ of the same length $n$ consisting of lowercase English letters that is different from the string $s$ in as few positions as possible. In other words, the number of indices $i$ such that $s_i \ne t_i$ should be as small as possible.

翻译中…

Input

翻译中…

Each test contains multiple test cases. The first line contains the number of test cases $t$ ($1 \le t \le 10^4$). The description of the test cases follows.

翻译中…

Each test case consists of two lines. The first line contains a single integer $n$ ($1 \le n \le 10^5$) — the length of the string $s$.

翻译中…

The second line contains the string $s$ of length $n$ consisting of lowercase English letters.

翻译中…

It is guaranteed that the sum of $n$ over all test cases does not exceed $10^5$.

翻译中…

Output

翻译中…

For each test case, print the smallest number of positions where string $s$ and a balanced string $t$ can differ, followed by such a string $t$.

翻译中…

If there are multiple solutions, print any. It can be shown that at least one balanced string always exists.

翻译中…

Note

翻译中…

In the first test case, the given string "hello" is not balanced: letters 'h', 'e', and 'o' appear in it once, while letter 'l' appears twice. On the other hand, string "helno" is balanced: five distinct letters are present in it, and each of them appears exactly once. Strings "hello" and "helno" differ in just one position: the fourth character. Other solutions are possible too.

翻译中…

In the second test case, string "codefofced" is balanced since only letters 'c', 'o', 'd', 'e', and 'f' are present in it, and each of them appears exactly twice.

翻译中…

In the third test case, string "eeeee" is balanced since only letter 'e' is present in it.

翻译中…

In the fourth test case, the given string "appall" is already balanced.

翻译中…

样例

Input #1
4
5
hello
10
codeforces
5
eevee
6
appall
Output #1
1
helno
2
codefofced
1
eeeee
0
appall
InputCopy OutputCopy
题目信息
题号
1781C
时间限制
2 s
内存限制
512 MB
标签
暴力
构造
贪心
模拟
排序
字符串

题面与样例版权归 Codeforces 及出题人所有;中文翻译由 AI 生成(CI 管线),如有出入请以原文为准。