a,b = input().strip().split()
n,m = len(a),len(b)
t = [ [0]*(m+1) for _ in range(n+1)]
for i in range(1,n+1):
for j in range(1,m+1):
if a[i-1]==b[j-1]:t[i][j]=t[i-1][j-1]+1
else:t[i][j] = max(t[i-1][j],t[i][j-1])
print(t[n][m])
i,j = n,m
lcs = []
while i>0 and j>0:
if a[i-1]==b[j-1]:
lcs.append(a[i-1])
i-=1
j-=1
elif t[i-1][j]>t[i][j-1]: i-=1
else: j-=1
lcs.reverse()
print(''.join(lcs))
沒有留言:
張貼留言