n,m=map(int,input().split()) S=input() T=input() d=[[i]+[-1]*m for i in range(n+1)] d[0]=list(range(m+1)) def f(a,b): global d if d[a][b]>=0:return d[a][b] t=f(a-1,b-1) if S[a-1]==T[b-1] else 1+min(f(a-1,b-1),f(a,b-1),f(a-1,b)) d[a][b]=t return t print(f(n,m))