#include <iostream>
#include <string>
#include <cstring>
using namespace std;
#define fas(i,a,b) for(int i=a;i<b;++i) //[)
int matrix[301][301];
int main()
{
string str1,str2;
while (cin >> str1>>str2)
{ // 注意 while 处理多个 case
memset(matrix,0, sizeof(int)*(301*301));
if(str2.size()<str1.size())
{
string tmp;
tmp=str1;
str1=str2;
str2=tmp;
}
str1="0"+str1;
str2="0"+str2;
int keepi,maxv=0;
fas(i,1,str1.size())
{
fas(j,1,str2.size())
{
if(str1[i]==str2[j])
matrix[i][j]=matrix[i-1][j-1]+1;
// else
// {
// matrix[i][j]=max(matrix[i][j-1],matrix[i-1][j]);
// }
if(maxv<matrix[i][j])
{
maxv=matrix[i][j];
keepi=i;
}
}
}
// fas(i,1,str1.size())
// {
// fas(j,1,str2.size())
// cout<<matrix[i][j]<<" ";
// cout<<endl;
// }
for(int i=keepi-(maxv-1);i<=keepi;++i)
{
cout<<str1[i];
}
cout<<endl;
}
}
// 64 位输出请用 printf("%lld")