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