#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int main()
{
char in1[200] = { 0 }, in2[200] = { 0 };
gets(in1);
gets(in2);
int len1, len2;
int i, j, t1, t2, k = 0;
int max;
int out[2000];
len1 = strlen(in1);
len2 = strlen(in2);
for (i = 0; i < len1; i++)
{
for (j = 0; j < len2; j++)
{
if (in1[i] == in2[j])
{
int h = 0;
for (t1 = i, t2 = j; in1[t1] == in2[t2] && t1 < len1 && t2 < len2; t1++, t2++)
{
h++;
}
out[k] = h;
k++;
}
}
}
for (i = 0; i < k - 1; i++)
{
if (out[i] > out[i + 1])
{
max = out[i];
out[i] = out[i + 1];
out[i + 1] = max;
}
}
printf("%d", out[k - 1]);
return 0;
}