#include <iostream>
#include <cstring>
#include <cmath>
using namespace std;
int dp[110][110];
int main() {
    memset(dp, 0, sizeof dp);
  string a,b;cin>>a>>b;int as=a.size(),bs=b.size();
  for (int i=0;i<as; i++) {
   for (int j=0;j<bs; j++) {
    
    dp[i+1][j+1]=max(dp[i+1][j],dp[i][j+1]);
    if(a[i]==b[j])  dp[i+1][j+1]=max(dp[i+1][j+1],dp[i][j]+1);
   }
  }
  cout<<dp[as][bs];
}
// 64 位输出请用 printf("%lld")