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

#define NSTRINGS 2
#define NLETRAS 1001

int m[NLETRAS][NLETRAS];

int main() {
	int t1, t2;
	int i, j;
	char s[NSTRINGS][NLETRAS];

	while (scanf("%c", &s[0][1])!=EOF) {
		for (i=2; scanf("%c", &s[0][i])&&s[0][i]!='\n'; i++) {
		}
		t1=i-1;
		for (i=1; scanf("%c", &s[1][i])&&s[1][i]!='\n'; i++) {
		}
		t2=i-1;
		for (i=1; i<=t1; i++) {
			m[i][0]=0;
		}
		for (i=1; i<=t2; i++) {
			m[0][i]=0;
		}
		for (i=1; i<=t1; i++) {
			for (j=1; j<=t2; j++) {
				if (s[0][i]==s[1][j]) {
					m[i][j]=m[i-1][j-1]+1;
				} else {
					if (m[i][j-1]>m[i-1][j]) {
						m[i][j]=m[i][j-1];
					} else {
						m[i][j]=m[i-1][j];
					}
				}
			}
		}
		printf("%d\n", m[t1][t2]);
	}

	return 0;
}

