#yuki_225 n,m=map(int,raw_input().split()) s=raw_input() t=raw_input() dp=[[0 for i in xrange(n+1)] for j in range(m+1)] for i in xrange(n+1): dp[0][i]=i for i in xrange(1,m+1): dp[i][0]=i for i in xrange(1,m+1): for j in xrange(1,n+1): dp[i][j] = min(dp[i][j-1]+1, dp[i-1][j]+1, dp[i-1][j-1]+(t[i-1]!=s[j-1])) print dp[m][n]