#include<stdio.h>
#include<string.h>

int LCS[1005][1005] = {0};
int main()
{
    char s1[1005], s2[1005];
    while( gets(s1) )
    {
        gets(s2);
        memset( LCS, 0, sizeof(LCS) );
        int s1_length = strlen(s1);
        int s2_length = strlen(s2);
        int i, j;
        
        for( i = 1 ; i <= s1_length ; i++ )
            for( j = 1 ; j <= s2_length ; j++ )
                if( s1[i-1] == s2[j-1] )
                    LCS[i][j] = LCS[i-1][j-1]+1;
                else
                    LCS[i][j] = ( LCS[i-1][j] > LCS[i][j-1] )? LCS[i-1][j] : LCS[i][j-1];
        printf( "%d\n", LCS[s1_length][s2_length] );
    }
    return 0;
}