def Levenshtein_Distance(S:str,T:str,example=False) ->int: """文字列S,Tにおけるレーベンシュタイン距離(編集距離) を求める. S,T: string """ M=len(S);N=len(T) DP=[[0]*(N+1) for _ in range(M+1)] DP[0]=list(range(N+1)) for i in range(1,M+1): D=DP[i] E=DP[i-1] D[0]=i for j in range(1,N+1): if S[i-1]==T[j-1]: D[j]=min(D[j-1]+1,E[j]+1,E[j-1]) else: D[j]=min(D[j-1],E[j],E[j-1])+1 return D[-1] #================================================ N,M=map(int,input().split()) S=input() T=input() print(Levenshtein_Distance(S,T))