#include<iostream>
#include<string>
#include<algorithm>
using namespace std;
int dp[1001][1001]={0};
int main()
{
string a,b;
cin>>a>>b;
int i,j;
for(i=0;i<=a.length();i++)
dp[0][i]=i;//初始化
for(j=0;j<=b.length();j++)
dp[j][0]=j;//初始化
for(i=1;i<=a.length();i++)
for(j=1;j<=b.length();j++)
if(a[i-1]==b[j-1])
dp[i][j]=dp[i-1][j-1];//如果相等,不用+1
else
dp[i][j]=min(min(dp[i][j-1],dp[i-1][j]),dp[i-1][j-1])+1;//如果不相等,取最小的值+1
cout<<dp[a.length()][b.length()]<<endl;
return 0;
}