#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define PB push_back
#define FI first
#define SE second
#define MP make_pair
#define ALL(DATAST) DATAST.begin(), DATAST.end()
#define MOD 1000000007ll
#define SIZE 100100ll
ll dp[1050][1050];
int main()
{
ios::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
#ifndef ONLINE_JUDGE
freopen("input.txt", "r", stdin);
freopen("output.txt", "w", stdout);
#endif
string x, y;
cin >> x >> y;
ll m = x.length();
ll n = y.length();
memset(dp, 0, sizeof(dp));
for (ll i = 1; i <= m; i++)
{
for (ll j = 1; j <= n; j++)
{
if(x[i-1]==y[j-1])
dp[i][j] = dp[i-1][j-1]+1;
else
dp[i][j] = max(dp[i][j-1],dp[i-1][j]);
// cout<<dp[i][j]<<" ";
}
// cout<<endl;
}
string ans = "";
ll c = n;
ll r = m;
while(c>0 && r>0)
{
if(x[r-1]==y[c-1])
{
ans = x[r-1]+ans;
r--;
c--;
}
else if(dp[r][c]==dp[r-1][c])
r = r-1;
else if(dp[r][c]==dp[r][c-1])
c = c-1;
}
cout<<ans;
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBQQiBwdXNoX2JhY2sKI2RlZmluZSBGSSBmaXJzdAojZGVmaW5lIFNFIHNlY29uZAojZGVmaW5lIE1QIG1ha2VfcGFpcgojZGVmaW5lIEFMTChEQVRBU1QpIERBVEFTVC5iZWdpbigpLCBEQVRBU1QuZW5kKCkKI2RlZmluZSBNT0QgMTAwMDAwMDAwN2xsCiNkZWZpbmUgU0laRSAxMDAxMDBsbAoKbGwgZHBbMTA1MF1bMTA1MF07CgoKaW50IG1haW4oKQp7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7IGNvdXQudGllKDApOwojaWZuZGVmIE9OTElORV9KVURHRQogICAgZnJlb3BlbigiaW5wdXQudHh0IiwgInIiLCBzdGRpbik7CiAgICBmcmVvcGVuKCJvdXRwdXQudHh0IiwgInciLCBzdGRvdXQpOwojZW5kaWYKCgogICAgc3RyaW5nIHgsIHk7CgogICAgY2luID4+IHggPj4geTsKCgogICAgbGwgbSA9IHgubGVuZ3RoKCk7CiAgICBsbCBuID0geS5sZW5ndGgoKTsKCiAgICBtZW1zZXQoZHAsIDAsIHNpemVvZihkcCkpOwoKICAgIGZvciAobGwgaSA9IDE7IGkgPD0gbTsgaSsrKQogICAgewogICAgICAgIGZvciAobGwgaiA9IDE7IGogPD0gbjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYoeFtpLTFdPT15W2otMV0pCiAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IGRwW2ktMV1bai0xXSsxOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IG1heChkcFtpXVtqLTFdLGRwW2ktMV1bal0pOwoKICAgICAgICAgICAgLy8gY291dDw8ZHBbaV1bal08PCIgIjsKICAgICAgICB9CiAgICAgICAgLy8gY291dDw8ZW5kbDsKICAgIH0KCiAgICBzdHJpbmcgYW5zID0gIiI7CgogICAgbGwgYyA9IG47CiAgICBsbCByID0gbTsKCiAgICB3aGlsZShjPjAgJiYgcj4wKQogICAgewogICAgICAgIGlmKHhbci0xXT09eVtjLTFdKQogICAgICAgIHsKICAgICAgICAgICAgYW5zID0geFtyLTFdK2FuczsKICAgICAgICAgICAgci0tOwogICAgICAgICAgICBjLS07CiAgICAgICAgfQogICAgICAgIGVsc2UgaWYoZHBbcl1bY109PWRwW3ItMV1bY10pCiAgICAgICAgICAgIHIgPSByLTE7CiAgICAgICAgZWxzZSBpZihkcFtyXVtjXT09ZHBbcl1bYy0xXSkKICAgICAgICAgICAgYyA9IGMtMTsKICAgIH0KCgoKICAgIGNvdXQ8PGFuczsKCiAgICByZXR1cm4gMDsKCgp9