def lcs():
s = input()
r = input()
m = len(s)
n = len(r)
matrix = [[0]*(5001) for i in range(5001)]
for i in range(0,m):
for j in range(0,n):
if(s[i]==r[j]):
matrix[i+1][j+1] = matrix[i][j]+1
else:
matrix[i+1][j+1] = max(matrix[i+1][j],matrix[i][j+1])
print(matrix[m][n])
lcs()
ZGVmIGxjcygpOgogICAgcyA9IGlucHV0KCkKICAgIHIgPSBpbnB1dCgpCiAgICBtID0gbGVuKHMpCiAgICBuID0gbGVuKHIpCiAgICBtYXRyaXggPSBbWzBdKig1MDAxKSBmb3IgaSBpbiByYW5nZSg1MDAxKV0KICAgIGZvciBpIGluIHJhbmdlKDAsbSk6CiAgICAgICAgZm9yIGogaW4gcmFuZ2UoMCxuKToKICAgICAgICAgICAgaWYoc1tpXT09cltqXSk6CiAgICAgICAgICAgICAgICBtYXRyaXhbaSsxXVtqKzFdID0gbWF0cml4W2ldW2pdKzEKICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgIG1hdHJpeFtpKzFdW2orMV0gPSBtYXgobWF0cml4W2krMV1bal0sbWF0cml4W2ldW2orMV0pCiAgICBwcmludChtYXRyaXhbbV1bbl0pCmxjcygpCgogICAgICAgIA==