//           _____                  _______                  _____                   _____
//          /\    \                /::\    \                /\    \                 /\    \
//         /::\    \              /::::\    \              /::\____\               /::\    \
//        /::::\    \            /::::::\    \            /:::/    /              /::::\    \
//       /::::::\    \          /::::::::\    \          /:::/    /              /::::::\    \
//      /:::/\:::\    \        /:::/~~\:::\    \        /:::/    /              /:::/\:::\    \
//     /:::/__\:::\    \      /:::/    \:::\    \      /:::/    /              /:::/__\:::\    \
//    /::::\   \:::\    \    /:::/    / \:::\    \    /:::/    /              /::::\   \:::\    \
//   /::::::\   \:::\    \  /:::/____/   \:::\____\  /:::/    /      _____   /::::::\   \:::\    \
//  /:::/\:::\   \:::\    \|:::|    |     |:::|    |/:::/____/      /\    \ /:::/\:::\   \:::\    \
// /:::/  \:::\   \:::\____|:::|____|     |:::|____|:::|    /      /::\____/:::/  \:::\   \:::\____\
// \::/    \:::\  /:::/    /\:::\   _\___/:::/    /|:::|____\     /:::/    \::/    \:::\  /:::/    /
//  \/____/ \:::\/:::/    /  \:::\ |::| /:::/    /  \:::\    \   /:::/    / \/____/ \:::\/:::/    /
//           \::::::/    /    \:::\|::|/:::/    /    \:::\    \ /:::/    /           \::::::/    /
//            \::::/    /      \::::::::::/    /      \:::\    /:::/    /             \::::/    /
//            /:::/    /        \::::::::/    /        \:::\__/:::/    /              /:::/    /
//           /:::/    /          \::::::/    /          \::::::::/    /              /:::/    /
//          /:::/    /            \::::/____/            \::::::/    /              /:::/    /
//         /:::/    /              |::|    |              \::::/    /              /:::/    /
//         \::/    /               |::|____|               \::/____/               \::/    /
//          \/____/                 ~~                      ~~                      \/____/
//I am aqua
#include<bits/stdc++.h>
typedef long long ll;
typedef long double ld;
#define mp make_pair
#define speed  ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0);
#define fo for(int i=0;i<n;i++) cin>>a[i];
#define pb push_back
#define pob pop_back
#define pf push_front
#define pof pop_front
#define l first
#define r second
#define input.txt ifstream fin("input.txt"); ofstream fout("output.txt");
using namespace std;
//--------------------------------------------------------------------------------------------------------------------
const int tp0=1;
const int tp1=10;
const int tp2=107;
const int tp3=1000;
const int tp4=10000;
const int tp5=100009;
const int tp6=1000000;
const int tp7=10000000;
const int tp8=100000000;
const int tp9=1000000000;
const int mod=1000000007;
const int maxn=tp3*3+100;
//---------------------------------------------------------------------------------------------------------------------
string s,t;
int dp[maxn][maxn];
pair<int,int>Dp[maxn][maxn];
//---------------------------------------------------------------------------------------------------------------------
int main()
{
    cin>>s>>t;
    int n = s.size();
    int m = t.size();
    for(int i=0;i<s.size();i++)
    {
        for(int j=0;j<t.size();j++)
        {
            if(s[i]==t[j])
            {

                dp[i + 1][j + 1]=dp[i][j]+1;
                Dp[i + 1][j + 1]={i, j};
            }
            else
            {
                if(dp[i + 1][j]>dp[i][j + 1])
                {
                    dp[i + 1][j + 1]=dp[i + 1][j];
                    Dp[i + 1][j + 1]={i + 1, j};
                }
                else
                {
                    dp[i + 1][j + 1]=dp[i][j + 1];
                    Dp[i + 1][j + 1]={i, j + 1};
                }
            }
        }
    }
    vector<char> v;
    while(n > 0 && m > 0){
        if(s[n - 1] == t[m - 1]){
            v.pb(s[n - 1]);
            //cout << s[n - 1];
        }
        pair<int, int> tmp = Dp[n][m];
        n = tmp.l;
        m = tmp.r;
    }
    for(int i = v.size(); i --;)
        cout << v[i];
}
//I know that ;
//I know where I am
//Do not think I don't


Measured memory_bytes: 111616