#!/usr/bin/env ruby n, m = gets.split(' ').map &:to_i S = gets.chomp T = gets.chomp # dp[i+1][j+1]: S i文字目までを変換してT[j]にするための手数と定義する # S: pirikapirirara # T: poporinapeperuto dp = [] # Initialization (0..n).each do |i| (0..m).each do |j| dp[i] ||= [] dp[i][j] = j if i == 0 dp[i][j] = i if j == 0 end end (0...n).each do |i| (0...m).each do |j| c1 = S[i] == T[j] ? dp[i][j] : dp[i][j] + 1 c2 = dp[i][j+1] + 1 c3 = dp[i+1][j] + 1 dp[i+1][j+1] = [c1,c2,c3].min end end puts dp[S.length][T.length]