Задачі
Рядочки
Рядочки
Рядок \textbf{A = a_1a_2...a_n} є \textit{підрядком} рядка \textbf{B = b_1b_2...b_m}, якщо існує таке число \textbf{k} (\textbf{1} ≤ \textbf{k} ≤ \textbf{m-n+1}), що \textbf{a_1 = b_k}, \textbf{a_2 = b_\{k+1\}}, ..., \textbf{a_n = b_\{k +n-1\}}.
Рядок \textbf{B} називається \textit{надрядком} \textbf{A}, якщо \textbf{A} є підрядком \textbf{B}.
Рядок \textbf{A = a_1a_2...a_n} \textit{лексикографічно менший} рядка \textbf{B = b_1b_2...b_m}, якщо для деякого \textbf{k} і для усіх \textbf{1} ≤ \textbf{t} ≤ \textbf{k} вірно \textbf{a_t = b_t} і або \textbf{a_\{k+1\}} < \textbf{b_\{k+1\}}, ібо довжна \textbf{A} рівна \textbf{k},а довжина \textbf{B} більша \textbf{k}.
Дано \textbf{S} і \textbf{T}. Необхідно знайти рядок, який є одночасно підрядком \textbf{S} і надрядком \textbf{T}. Якщо таких рядків декілька, виведіть самий довгий серед них. Якщо рядків найбільшої довжини декілька, виведіть лексикографічно найменший.
\InputFile
В первой строке находится строка \textbf{S} (\textbf{1} ≤ |\textbf{S}| ≤ \textbf{4000}). Во второй строке находится строка \textbf{T} (\textbf{1} ≤ |\textbf{T}| ≤ \textbf{4000}). Обе строки состоят из строчных латинских букв. Здесь как |\textbf{S}| и |\textbf{T}| обозначены соответственно длины строк \textbf{S} и \textbf{T}.
\OutputFile
У вихідний файл виведіть шуканий рядок або "\textbf{NO SOLUTION}" (без лапок), якщо такого рядка не існує.
Вхідні дані #1
bee be
Вихідні дані #1
bee