#include <bits/stdc++.h>
using namespace std;
const int max_=2005;
int dp[max_][max_];
int f(string s,string t){
int n=s.size(),m=t.size();
for(int i=0;i<=n;i++){
for(int j=0;j<=m;j++){
if(!i){
dp[i][j]=j;
}else if(!j){
dp[i][j]=i;
}else if(s[i-1]==t[i-1]){
dp[i][j]=dp[i-1][j-1];
}else{
dp[i][j]=1+min(dp[i][j-1],min(dp[i-1][j],dp[i-1][j-1]));
}
}
}
return dp[n][m];
}
int main()
{
string s,t;
cin>>s>>t;
cout<<f(s,t)<<'\n';
return 0;
}