/*
* Note: This template uses some c++11 functions , so you have to compile it with c++11 flag.
*       Example:-   $ g++ -std=c++11 c++Template.cpp
*
*/
 
/********   All Required Header Files ********/
#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <sstream>
#include <queue>
#include <deque>
#include <bitset>
#include <iterator>
#include <list>
#include <stack>
#include <map>
#include <set>
#include <functional>
#include <numeric>
#include <utility>
#include <limits>
#include <time.h>
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <ext/pb_ds/assoc_container.hpp>

using namespace __gnu_pbds;
using namespace std;

/*******  All Required define Pre-Processors and typedef Constants *******/
#define SCD(t)              scanf("%d",&t)
#define SCLD(t)             scanf("%ld",&t)
#define SCLLD(t)            scanf("%lld",&t)
#define SCC(t)              scanf("%c",&t)
#define SCS(t)              scanf("%s",t)
#define SCF(t)              scanf("%f",&t)
#define SCLF(t)             scanf("%lf",&t)
#define MEM(a, b)           memset(a, (b), sizeof(a))
#define FOR(i, j, k, in)    for (int i=j ; i<k ; i+=in)
#define RFOR(i, j, k, in)   for (int i=j ; i>=k ; i-=in)
#define REP(i, j)           FOR(i, 0, j, 1)
#define RREP(i, j)          RFOR(i, j, 0, 1)
#define all(cont)           cont.begin(), cont.end()
#define rall(cont)          cont.end(), cont.begin()
#define FOREACH(it, l)      for (auto it = l.begin(); it != l.end(); it++)
#define IN(A, B, C)         assert( B <= A && A <= C)
#define MK(arr,n,type)      type *arr=new type[n];
#define W(x)                int x; cin>>x; while(x--)
#define FF                  first
#define SS                  second
#define MP                  make_pair
#define PB                  push_back
#define INF                 (int)1e9
#define EPS                 1e-9
#define PI                  3.1415926535897932384626433832795
#define MOD                 1000000007

const double pi=acos(-1.0);
typedef pair<int, int> PII;
typedef vector<int> VI;
typedef vector<string> VS;
typedef vector<PII> VII;
typedef vector<VI> VVI;
typedef map<int,int> MPII;
typedef set<int> SETI;
typedef multiset<int> MSETI;
typedef priority_queue<int> PQB;
typedef priority_queue<int,VI,greater<int>> PQS;
typedef long long ll;
typedef long double ld;
typedef long int int32;
typedef unsigned long int uint32;
typedef long long int int64;
typedef unsigned long long int  uint64;
typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> pbds;

/****** Template of some basic operations *****/
template<typename T, typename U> inline void amin(T &x, U y) { if(y < x) x = y; }
template<typename T, typename U> inline void amax(T &x, U y) { if(x < y) x = y; }
/**********************************************/

/******** User-defined Function *******/
void c_p_c(){
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	#ifndef ONLINE_JUDGE
	freopen("input.txt", "r", stdin);
	freopen("output.txt", "w", stdout);
	#endif
}

/**************************************/


/********** Main()  function **********/
int main(){
    //c_p_c();
	string s1,s2;
    cin>>s1>>s2;
    ll i,j;
    ll n = s1.length();
    ll m = s2.length();
    ll dp[n+1][m+1];
    for(i=0;i<=n;i++)
    {
        for(j=0;j<=m;j++)
        {
            if(i==0||j==0)
            {
                dp[i][j] = 0;
            }
            else if(s1[i-1]==s2[j-1])
            {
                dp[i][j] = dp[i-1][j-1] + 1; 
            }
            else
            {
                dp[i][j] = max(dp[i-1][j],dp[i][j-1]);
            }
        }
    }
    string ans = "";
    i=n,j=m;
    while(i>0 && j>0)
    {
        if(s1[i-1] == s2[j-1])
        {
            ans += s1[i-1];
            i--;
            j--;
        }
        else if(dp[i-1][j]>dp[i][j-1])
        {
            i--;
        }
        else
        {
            j--;
        }
    }
    reverse(ans.begin(),ans.end());
    cout<<ans;
	return 0;
}
/********  Main() Ends Here *************/

Measured memory_bytes: 70656