Строчечки
Строка 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" (без кавычек), если такой строки не существует.