#include <iostream>
#include <cstring>
using namespace std;
int main() {
string x,y;
while(cin>>x>>y){
int m,n;
x=' '+x;
y=' '+y;
m=x.length();
n=y.length();
int dp[m][n];int maxn=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(i==0 || j==0){
dp[i][j]=0;
}
else if(x[i]==y[j]){
dp[i][j]=dp[i-1][j-1]+1;
}
else {
dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
maxn=max(maxn,dp[i][j]);
}
}
cout<<maxn<<endl;
}
}

京公网安备 11010502036488号