Рядочки#2198

Рядочки

1 секунда
64 мегабайти
Дуже легка

Рядок \textbf{A} = a_1a_2\ldots a_n називається підрядком рядка \textbf{B} = b_1b_2\ldots b_m, якщо існує ціле число (1 \leq k \leq m-n+1) таке, що a_1 = b_k, a_2 = b_{k+1}, ..., a_n = b_{k+n-1}.

Рядок називається надрядком для рядка , якщо є підрядком .

Рядок \textbf{A} = a_1a_2\ldots a_n є лексикографічно меншим за рядок \textbf{B} = b_1b_2\ldots b_m, якщо існує таке ціле , що a_t = b_t для всіх 1 \leq t \leq k, і при цьому або a_{k+1} < b_{k+1}, або довжина дорівнює , а довжина більша за .

Задані рядки та . Знайдіть рядок, який є одночасно підрядком рядка і надрядком рядка . Якщо таких рядків декілька, виведіть найдовший. Якщо таких рядків максимальної довжини також декілька, виведіть з них лексикографічно найменший.

Вхідні дані

У першому рядку задано рядок (1 \leq |\textbf{S}| \leq 4000). У другому рядку задано рядок (1 \leq |\textbf{T}| \leq 4000). Обидва рядки складаються з малих латинських букв. Тут і позначають довжини рядків та відповідно.

Вихідні дані

Виведіть потрібний рядок або NO SOLUTION (без лапок), якщо такого рядка не існує.

Приклади

Приклад 1

Loading
Loading