Задача №86. Построить из строки следующую анаграмму

Для данного слова (последовательности строчных латинских букв) выведите следующее за ним (в лексикографическом порядке) слово, которое может быть получено из данного перестановкой букв (анаграмму). Если данное слово уже является последним среди всех своих анаграмм, то необходимо вывести первую возможную (в лексикографическом порядке) анаграмму.

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

Задана последовательность слов, по одному слову в строке. Длина одного слова не превышает 50 символов.

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

Необходимо вывести  результат для каждого полученного на вход слова.

Примеры
Входные данные
aab
aba
baa
aaa
Выходные данные
aba
baa
aab
aaa
Сдать: для сдачи задач необходимо войти в систему