n,m = map(int,input().split()) s = input() t = input() dp = [[float("inf") for i in range(m+1)] for j in range(n+1)] dp[0][0] = 0 dp[1][0] = 1 dp[0][1] = 1 for i in range(n): for j in range(m): if s[i]==t[j]: dp[i+1][j+1] = min(dp[i][j], dp[i][j+1]+1, dp[i+1][j]+1) else: dp[i+1][j+1] = min(dp[i][j]+1, dp[i][j+1]+1, dp[i+1][j]+1) print(dp[n][m])