n, m = map(int, input().split()) S = input() T = input() dp = [[i for i in range(m+1)]] + [[j]+[0]*m for j in range(1,n+1)] for i in range(1,n+1): for j in range(1,m+1): if S[i-1] == T[j-1]: dp[i][j] = min(dp[i-1][j-1], dp[i][j-1]+1, dp[i-1][j]+1) else: dp[i][j] = min(dp[i-1][j-1]+1, dp[i][j-1]+1, dp[i-1][j]+1) print(dp[-1][-1])