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