#include #include int N, M; std::string S, T; int dp[1001][1001]; int main(){ std::cin >> N >> M; std::cin >> S >> T; for(int i=1;i<=N;i++){ dp[i][0] = i; } for(int i=1;i<=M;i++){ dp[0][i] = i; } for(int i=1;i<=N;i++){ for(int j=1;j<=M;j++){ dp[i][j] = std::min({dp[i-1][j] + 1, dp[i][j-1] + 1, dp[i-1][j-1] + (S[i-1] != T[j-1])}); } } std::cout << dp[N][M] << std::endl; }