#include <iostream>
#include <string.h>
using namespace std;
string a, b;
int ans,dp[2010][2010];
int dfs(int i ,int j) {
if (i < 0 && j < 0) return 0;
if (i < 0 || j < 0) return max(i, j)+1;
if (dp[i][j] >= 0) return dp[i][j];
int ans;
if (a[i] == b[j]) {
ans = dfs(i-1,j-1);
}
else{
ans = min(dfs(i-1,j-1)+1,min(dfs(i-1,j)+1,dfs(i,j-1)+1));
}
dp[i][j] = ans;
return dp[i][j];
}
int main() {
cin >> a >> b;
memset(dp,-1,sizeof(dp));
ans = dfs(a.size()-1, b.size()-1);
cout << ans;
return 0;
}