eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Рядочки

Рядочки

Рядок \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 секунда
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
bee
be
Вихідні дані #1
bee