/*
TASK: balls
LANG: C
*/

#include <stdio.h>
#include <string.h>
#define M 1002

int dp[M][M];
char a[M], b[M];



int main () {
    int i, j;
    int lena, lenb;
    int x;
    scanf ("%s", a);
    scanf ("%s", b);
    lena = strlen (a);
    lenb = strlen (b);
    for (i = 1; i <= lena; i ++) {
        for (j = 1; j <= lenb; j ++) {
            if (a[i - 1] == b[j - 1]) {
               x = dp[i - 1][j - 1] + 1;
            } else {
              x = -999;
            }
            dp[i][j] = dp[i - 1][j] > dp[i][j - 1] ?
            (dp[i - 1][j] > x ? dp[i - 1][j] : x) :
            (dp[i][j - 1] > x ? dp[i][j - 1] : x);
        }
    }
    printf ("%d\n", dp[lena][lenb]);
    return 0;
}
