#include<bits/stdc++.h>
using namespace std;
string s1,s2;
int dp[5000][5000];
int main()
{
cin >> s1 >> s2;
for(int i = 1;i <= s1.length();i++)
{
for(int l = 1;l <= s2.length();l++)
{
if(s1[i - 1] == s2[l - 1]) dp[i][l] = dp[i - 1][l - 1] + 1;
else dp[i][l] = max(dp[i - 1][l],dp[i][l - 1]);
}
}
cout << dp[s1.length()][s2.length()] << "\n";
return 0;
}