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