#include<iostream> #include<cstring> using namespace std; const int maxn = 105; char a[maxn],b[maxn]; int dp[maxn][maxn]; int main(){ while(cin>>a>>b){ int la = strlen(a),lb = strlen(b); for(int i=0;i<=la;i++){ dp[i][0] = 0; } for(int i=0;i<=lb;i++){ dp[0][i] = 0; } for(int i=1;i<=la;i++){ for(int j=1;j<=lb;j++){ if(a[i]==b[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[la][lb]<<endl; } return 0; }