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