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] = list(range(m+1)) for i in range(1,n): dp[i][0]=i 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])