s1, s2 = input().split(',') # 输入 # 初始化dp前缀二维数组 dp = [[0 for j in range(len(s2))] for i in range(len(s1))] for i in range(len(s1)): if s1[i] == s2[0]: dp[i][0] = 1 for j in range(len(s2)): if s2[j] == s1[0]: dp[0][j] = 1 # 记录最大值 temp_max = 0 # DP遍历LCS def lcs(): global temp_max for i in range(1,len(s1)): for j in range(1,len(s2)): # print(f"dp[{i}][{j}] = {dp[i][j]}") if s1[i] == s2[j]: dp[i][j] = dp[i-1][j-1] +1 if dp[i][j] > temp_max: temp_max = dp[i][j] lcs() print(temp_max)