В далеком созвездии Тау Кита все стало для нас непонятно. В частности, таукитяне очень хитро выбирают имена своим детям.
Молодые родители abac и bbad думают как назвать своего первенца. Решено, что имя будет перестановкой букв строки s. Чтобы не отставать от соседей, они решили назвать ребеночка так, чтобы имя оказалось лексикографически строго больше имени t соседского сына.
С другой стороны, они подозревают о скором введении налога на имена. В соответствии с ним таукитяне с лексикографически большими именами будут платить большие суммы. По этой причине abac и bbad хотят назвать первенца так, чтобы имя было лексикографически строго больше имени t и при этом лексикографически наименьшим.
Лексикографический порядок строк — это привычный нам порядок «как в словаре». Такое сравнение используется во всех современных языках программирования для сравнения строк. Формально, строка p длины n лексикографически меньше строки q длины m, если верно одно из двух утверждений:
Напишите программу, которая по заданной строке s и имени соседского ребенка t определяет такую строку, которая получается перестановкой букв s, лексикографически строго больше t и при этом лексикографически как можно меньше.
В первой строке записана непустая строка s (1 ≤ |s| ≤ 5000), где |s| — ее длина. Вторая строка содержит непустую строку t (1 ≤ |t| ≤ 5000), где |t| — ее длина. Обе строки состоят из строчных букв латинского алфавита.
Выведите искомое имя или -1, если такового не существует.
aad
aac
aad
abad
bob
daab
abc
defg
-1
czaaab
abcdef
abczaa
В первом примере данная строка s является искомой, следовательно, порядок букв в ней менять не надо.
Название |
---|