import sys
def lcs(first, second):
before=list(first)
after=list(second)
dp=[]
for _ in range(len(before)+1):
dp.append([0] *(len(after)+1))
for i in range(1, len(before)+1):
for j in range(1, len(after)+1):
if before[i-1]==after[j-1]:
dp[i][j]=dp[i-1][j-1]+1
else:
dp[i][j]=max(dp[i-1][j], dp[i][j-1])
return dp[len(before)][len(after)]
while True:
try:
one=input()
two=input()
print(lcs(one, two))
except EOFError:
break