from math import inf
s = input()
t = input()
# dp[i][j]为s的前i个字符和t的前j个字符的编辑距离
# dp[0]=list(range(m+1)),dp[][0]=list(range(n+1))
# 那么关键递推式是什么呢?
# if s[i-1]==t[j-1]:dp[i][j]=dp[i-1][j-1]
# else:dp[i][j]可以是dp[i-1][j-1]+1或dp[i-1][j]+1或dp[i][j-1]
# 总体思路和LCS(最长公共子序列)很像
n,m = len(s),len(t)
dp = [[inf]*(m+1) for _ in range(n+1)]
dp[0]=list(range(m+1))
for i in range(1,n+1):
    dp[i][0] = i
    for j in range(1,m+1):
        if s[i-1] == t[j-1]:
            dp[i][j] = dp[i-1][j-1]
        else:
            dp[i][j] = min(dp[i-1][j-1]+1,dp[i-1][j]+1,dp[i][j-1]+1)
print(dp[n][m])