#include<stdio.h> #include<string.h> char a[10009],b[10009]; int c[10009][10009]; int max(int x,int y) { if(x>y) return x; else return y; } int main() { int i,j,x,y; while(scanf("%s %s",a,b)!=EOF) { x=strlen(a); y=strlen(b); for(i=0;i<=x;i++) c[0][i]=0; for(i=0;i<x;i++) { for(j=0;j<y;j++) { if(a[i]==b[j]) c[i+1][j+1]=c[i][j]+1; else c[i+1][j+1]=max(c[i][j+1],c[i+1][j]); } } printf("%d\n",c[x][y]); } return 0; }