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