#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
using namespace std;
int table[100][100] = { 0 };
int main()
{
string a, b;
cin >> a >> b;
int m = a.length();
int n = b.length();
for (int i = 1; i <= m; i++)
{
for (int j = 1; j <= n; j++)
{
if (a[i-1] == b[j-1])
{
table[i][j] = table[i - 1][j - 1] + 1;
}
else
{
table[i][j] = max(table[i - 1][j], table[i][j - 1]);
}
}
}
cout << table[m][n] << endl;
system("pause");
}