/*
TASK:balls
LANG:C++
*/
#include <iostream>
#include <stdio.h>
//#include <conio.h>
#include <string.h>
using namespace std;
int f[1001][1001];
int N,M;

char bl[1001];
char bs[1001];
int main()
{
//clrscr();
//freopen("test.txt","r",stdin);
scanf("%s",&bl);
scanf("%s",&bs);

N=strlen(bl);
M=strlen(bs);
  int i,j,k;
for(i=1;i<=N;i++)
                 if(bl[i-1]==bs[0])
                 f[i][1]=1;

  for(i=1;i<=N;i++)
     for(j=2;j<=M;j++)
                      {
                      f[i][j]=f[i-1][j];
                      if(bl[i-1]==bs[j-1])
                      {
                       for(k=j-1;k>=1;k--)
                                          if(f[i][j]<f[i-1][k]+1)
                                                                   f[i][j]=f[i-1][k]+1;
                      }
                      }
/*for(i=1;i<=N;i++){
                 for(j=1;j<=M;j++)
                                  cout<<f[i][j]<<" ";
                 cout<<endl;
                 }
*/
printf("%d\n",f[N][M]);

return 0;
}
