def levenshtein_distance(str1, str2):
m, n = len(str1), len(str2)
# 初始化动态规划表
dp = [[0] * (n + 1) for _ in range(m + 1)]
# 初始化边界条件
for i in range(m + 1):
dp[i][0] = i
for j in range(n + 1):
dp[0][j] = j
# 填充动态规划表
for i in range(1, m + 1):
for j in range(1, n + 1):
if str1[i - 1] == str2[j - 1]:
dp[i][j] = dp[i - 1][j - 1]
else:
dp[i][j] = min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + 1
# 返回结果
return dp[m][n]
# 输入处理
str1 = input().strip()
str2 = input().strip()
# 计算编辑距离
result = levenshtein_distance(str1, str2)
print(result)