Условие задачи
Даны $2$ строки. Напишите программу, которая находит самую длинную строку, содержащуюся в обеих строках, и выводит её длину.
Здесь говорят, что строка $s$ содержится в строке $t$, если $s$ входит в $t$ непрерывно (подряд). Пустая строка, то есть строка длины $0$, содержится в любой строке. Например, в строке ABRACADABRA содержатся следующие строки: ABRA, RAC, D, ACADABRA, ABRACADABRA, пустая строка и т. д. С другой стороны, в строке ABRACADABRA не содержатся следующие строки: ABRC, RAA, BA, K и т. д.
Поясняющие примеры
Пример $1$: если в качестве строк заданы ABRACADABRA и ECADADABRBCRDARA, то в обеих содержатся такие строки, как CA, CADA, ADABR, пустая строка и др. Самая длинная из них — ADABR, и её длина равна $5$. Положение ADABR внутри этих $2$ строк показано на рисунке $2\text{-}1$.
$$\begin{aligned} \texttt{ABRAC}&\underline{\texttt{ADABR}}\texttt{A} \\ \texttt{ECAD}&\underline{\texttt{ADABR}}\texttt{BCRDARA} \end{aligned}$$
Рисунок $2\text{-}1$: положение ADABR в строках из Примера $1$
Пример $2$: если в качестве строк заданы UPWJCIRUCAXIIRGL и SBQNYBSBZDFNEV, то единственной строкой, содержащейся в обеих, является пустая строка, а её длина равна $0$.
Входные данные
Входные данные состоят из $2$ строк: в $1$-й строке задана $1$-я строка символов, а во $2$-й строке — $2$-я строка символов. Строки состоят из заглавных букв английского алфавита, и длина каждой из строк не меньше $1$ и не больше $4\,000$.
В тестовых данных на $30\%$ баллов длина каждой из строк не меньше $1$ и не больше $50$.
Выходные данные
Выведите $1$ строку, содержащую только длину самой длинной строки, входящей одновременно в обе из $2$ заданных строк.
Примеры ввода и вывода
Входные и выходные данные, соответствующие приведённым примерам, показаны ниже.
Пример ввода 1
ABRACADABRA ECADADABRBCRDARA
Пример вывода 1
5
Пример ввода 2
UPWJCIRUCAXIIRGL SBQNYBSBZDFNEV
Пример вывода 2
0