n, m = map(int, input().split(' ')) S = input() T = input() # n * mの配列を作成 d = [[None for i in range(m+1)] for j in range(n+1)] d[0] = list(range(m + 1)) for i in range(1, n + 1): d[i][0] = i for j in range(1, m + 1): if S[i-1] == T[j-1]: d[i][j] = min(d[i][j-1] + 1, d[i-1][j] + 1, d[i-1][j-1]) else: d[i][j] = min(d[i][j-1], d[i-1][j], d[i-1][j-1]) + 1 print(d[n][m])