#include<iostream>
#include<vector>
#include<algorithm>
#include<cstring>
using namespace std;
int main()
{
	string s1,s2;
	cin>>s1;
	cin>>s2;
	s1 = " "+s1;
	s2 = " "+s2;
	int n=s1.size();
	int m=s2.size();
	int dp[101][101];
	for(int i=0;i<=n;i++)//注意是<=
	{
		for(int j=0;j<=m;j++)//注意是<=
		{
			if(i==0 || j==0)
			{
				dp[i][j]=0;
			}
			else
			{
				if(s1[i]==s2[j])
				{
					dp[i][j]=dp[i-1][j-1]+1;
				}
				else
				{
					dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
				}
			}
		}
	}
	cout<<dp[n][m]-1<<endl;//剪掉的这个1是s1=" "+s1中多加的长度
	return 0;
}