s1, s2 = input(), input() l1, l2 = len(s1), len(s2) dp = [[0]*(l2+1) for _ in range(l1+1)] for i in range(l1) : for j in range(l2) : if s1[i] == s2[j] : dp[i+1][j+1] = dp[i][j] + 1 else : dp[i+1][j+1] = max(dp[i+1][j], dp[i][j+1]) print(dp[l1][l2]) if dp[l1][l2] != 0 : ans = [] p1, p2 = l1, l2 while p1 > 0 and p2 > 0 : if dp[p1][p2-1] == dp[p1][p2] : p2 -= 1 elif dp[p1-1][p2] == dp[p1][p2] : p1 -= 1 else : ans.append(s2[p2-1]) p1, p2 = p1-1, p2-1 print("".join(ans[::-1]))