#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")