#include<iostream>
#include<string>
using namespace std;
int getMaxSubStrLength(string subStr,string baseStr)
{
int nSubLength=subStr.length();
for(int i=nSubLength;i>0;i--)
{
for(int j=0;j<nSubLength-i+1;j++)
{
if(baseStr.find(subStr.substr(j,i))!=-1) return i;
}
}
return 0;
}
int main()
{
string subStr="",baseStr="";
getline(cin, subStr);
getline(cin, baseStr);
if(subStr.length()>baseStr.length()) swap(subStr, baseStr);
cout<<getMaxSubStrLength(subStr,baseStr)<<endl;
return 0;
}
#include<string>
using namespace std;
int getMaxSubStrLength(string subStr,string baseStr)
{
int nSubLength=subStr.length();
for(int i=nSubLength;i>0;i--)
{
for(int j=0;j<nSubLength-i+1;j++)
{
if(baseStr.find(subStr.substr(j,i))!=-1) return i;
}
}
return 0;
}
int main()
{
string subStr="",baseStr="";
getline(cin, subStr);
getline(cin, baseStr);
if(subStr.length()>baseStr.length()) swap(subStr, baseStr);
cout<<getMaxSubStrLength(subStr,baseStr)<<endl;
return 0;
}