Codeforces Round 862 (Div. 2)
B
The String Has a Target
Codeforces
800
原题
← AC →
翻译中…

You are given a string $s$. You can apply this operation to the string exactly once: choose index $i$ and move character $s_i$ to the beginning of the string (removing it at the old position). For example, if you apply the operation with index $i=4$ to the string "abaacd" with numbering from $1$, you get the string "aabacd". What is the lexicographically minimal$^{\dagger}$ string you can obtain by this operation?

翻译中…

$^{\dagger}$A string $a$ is lexicographically smaller than a string $b$ of the same length if and only if the following holds:

翻译中…
  • in the first position where $a$ and $b$ differ, the string $a$ has a letter that appears earlier in the alphabet than the corresponding letter in $b$.
翻译中…

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.

翻译中…

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

翻译中…

The second line of each test case 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, on a separate line print the lexicographically smallest string that can be obtained after applying the operation to the original string exactly once.

翻译中…

Note

翻译中…

In the first test case, you need to move the last character to the beginning.

翻译中…

In the second case, you need to move the second letter "a".

翻译中…

In the third set you need to apply the operation with $i=1$, then the string will not change.

翻译中…

样例

Input #1
4
3
cba
4
acac
5
abbcb
4
aaba
Output #1
acb
aacc
abbcb
aaab
InputCopy OutputCopy
题目信息
题号
1805B
时间限制
1 s
内存限制
256 MB
标签
贪心
字符串

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