C. Двойной лексикографический минимум
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Вам дана строка $$$s$$$. Вы можете поменять порядок символов и получить строку $$$t$$$. Определим $$$t_{\mathrm{max}}$$$ как лексикографический максимум строки $$$t$$$ и перевернутой строки $$$t$$$.

По данной строке $$$s$$$ определите лексикографически минимальное значение $$$t_{\mathrm{max}}$$$ по всем перестановкам $$$t$$$ строки $$$s$$$.

Строка $$$a$$$ лексикографически меньше строки $$$b$$$ тогда и только тогда, когда одно из двух условий выполнено:

  • $$$a$$$ является префиксом $$$b$$$, но $$$a \ne b$$$;
  • в первой позиции, в которой $$$a$$$ и $$$b$$$ отличаются, в строке $$$a$$$ стоит символ, который встречается в алфавите раньше, чем соответствующий символ в строке $$$b$$$.
Входные данные

В первой строке находится единственное целое число $$$t$$$ ($$$1 \leq t \leq 10^5$$$)— количество наборов входных данных. Описания наборов входных данных следуют.

В единственной строке для каждого набора входных данных находится строка $$$s$$$ ($$$1 \leq |s| \leq 10^5$$$). $$$s$$$ состоит из строчных символов латинского алфавита.

Гарантируется, что сумма $$$|s|$$$ по всем наборам входных данных не превосходит $$$10^5$$$.

Выходные данные

Для каждого набора входных данных выведите лексикографически минимальное значение строки $$$t_{\mathrm{max}}$$$ по всем перестановкам $$$t$$$ строки $$$s$$$.

Пример
Входные данные
12
a
aab
abb
abc
aabb
aabbb
aaabb
abbb
abbbb
abbcc
eaga
ffcaba
Выходные данные
a
aba
bab
bca
abba
abbba
ababa
bbab
bbabb
bbcca
agea
acffba
Примечание

В первом наборе входных данных есть одна перестановка символов строки $$$s$$$, это «a».

Во втором наборе входных данных есть три возможных перестановки символов $$$s$$$:

  • $$$t = \mathtt{aab}$$$: $$$t_{\mathrm{max}} = \max(\mathtt{aab}, \mathtt{baa}) = \mathtt{baa}$$$
  • $$$t = \mathtt{aba}$$$: $$$t_{\mathrm{max}} = \max(\mathtt{aba}, \mathtt{aba}) = \mathtt{aba}$$$
  • $$$t = \mathtt{baa}$$$: $$$t_{\mathrm{max}} = \max(\mathtt{baa}, \mathtt{aab}) = \mathtt{baa}$$$

Лексикографически минимальное значение $$$t_{\mathrm{max}}$$$ по всем случаям это «aba».