import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String a = in.nextLine();
        String b = in.nextLine();
        int[][] dp = new int[a.length() + 1][b.length() + 1];
        // 初始化 当b串为空串时 a串的编辑距离 为a串的长度
        for (int i = 1; i <= a.length(); i++) {
            dp[i][0] = i;
        }        
        for (int i = 1; i <= b.length(); i++) {
            dp[0][i] = i;
        }
        for (int i = 1; i <= a.length(); i++) {
            for (int j = 1; j <= b.length(); j++) {
                // 如果当前位置两个字符相等 那么不用编辑 
                // 编辑距离等于前一个字符的编辑距离
                if (a.charAt(i - 1) == b.charAt(j - 1)) {
                    dp[i][j] = dp[i - 1][j - 1];
                } else {
                    // 在替换、插入、删除中找一个最小的编辑距离
                    dp[i][j] = Math.min(dp[i - 1][j - 1] + 1, 
                        Math.min(dp[i - 1][j] + 1, dp[i][j - 1] + 1));
                }
            }
        }
        System.out.println(dp[a.length()][b.length()]);
    }
}