C. Переставь цифры
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Даны два натуральных числа a и b. Вам необходимо переставить цифры числа a таким образом, чтобы получилось наибольшее возможное число, не превосходящее b. Никакое из входных или выходных чисел не может начинаться с нуля.

Допустимо оставить число a без изменений.

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

В первой строке входных данных записано натуральное число a (1 ≤ a ≤ 1018). Во второй строке записано натуральное число b (1 ≤ b ≤ 1018). Числа не содержат лидирующих нулей. Гарантируется, что ответ существует.

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

Выведите наибольшее число, не превосходящее b, полученное перестановкой цифр числа a. Ответ не может начинаться с нуля. Гарантируется, что такое число существует.

Число в выводе должно иметь в точности ту же длину, что и число a. Оно должно являться перестановкой цифр числа a.

Примеры
Входные данные
123
222
Выходные данные
213
Входные данные
3921
10000
Выходные данные
9321
Входные данные
4940
5000
Выходные данные
4940