n, m = map(int, input().split()) s = input() t = input() dp = [[0]*(m+2) for _ in range(n+1)] for i in range(n+1)[::-1]: for j in range(m+1)[::-1]: res = 1001 if i == n and j == m: dp[i][j] = 0 continue if i < n and j < m: res = min(res, int(s[i]!=t[j]) + dp[i+1][j+1]) if i < n: res = min(res, 1 + dp[i+1][j]) if j < m: res = min(res, 1 + dp[i][j+1]) dp[i][j] = res print(dp[0][0])