Задача №1153. Две строки

Циклическим сдвигом строки s0s1sn-1 на k позиций назовем строку sksk+1sns1..sk-1. Например, циклическим сдвигом строки «abcde» на две позиции является строка «cdeab». В этой задаче далее будут рассматриваться только строки, состоящие из десятичных цифр от 0 до 9. Произвольной такой строке, первый символ которой не является нулем, можно сопоставить число, десятичной записью которого она является. Строкам, которые начинаются с нуля, никакое число сопоставляться не будет. Например, строке 123 сопоставляется число сто двадцать три, а строке 0123 не сопоставляется никакое число.

Пусть заданы две строки: s и t. Обозначим как S набор всех циклических сдвигов строки s, а как T – набор всех циклических сдвигов строки t. Например, если = «1234», то S содержит строки «1234», «2341», «3412», «4123». Обозначим также как NUM(A) набор чисел, соответствующих строкам из набора  A.

Требуется написать программу, которая по строкам s и t определит, максимальное число, представимое в виде разности (xy), где x принадлежит NUM(S), а y принадлежит NUM(T). Например, если s = «25», t = «12», то NUM(S) содержит числа 25 и 52, NUM(T) – числа 12 и 21; их попарными разностями будут: 2512 = 13, 2521 = 4, 5212 = 40, 5221 = 31. Из этих разностей максимальным числом является 40.

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

Первая строка входного файла содержит строку s, вторая строка входного файла – строку t. Обе строки непустые. Они содержат только цифры, из которых хотя бы одна не является нулем. Строки имеют длину не более 3000 символов.

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

В выходной файл выведите искомое число без ведущих нулей.

Примеры
Входные данные
25
12
Выходные данные
40
Входные данные
100
1
Выходные данные
99
Сдать: для сдачи задач необходимо войти в систему