#include<iostream>
#include<string.h>
using namespace std;
int dp[100][100];
int min(int a, int b)
{
if(a<b) return a;
else return b;
}
int main()
{
char str1[100];
char str2[100];
cin>>str1>>str2;
int num1 = strlen(str1);
int num2 = strlen(str2);
if(str1[0]==str2[0])
dp[0][0] = 0;
else
dp[0][0] = 1;
for(int i=1; i<num2; i++)
{
if(str1[0]==str2[i])
dp[0][i] = dp[0][i-1];
else
dp[0][i] = dp[0][i-1] + 1;
}
for(int i=1; i<num1; i++)
{
if(str1[0]==str2[i])
dp[i][0] = dp[i-1][0];
else
dp[i][0] = dp[i-1][0] + 1;
}
for(int i=1; i<num1; i++)
{
for(int j=1; j<num2; j++)
{
if(str1[i]==str2[j])
{
dp[i][j] = dp[i-1][j-1];
}
else
{
int tmp;
tmp = min(dp[i-1][j]+1, dp[i][j-1]+1);
tmp = min(tmp, dp[i-1][j-1]+1);
dp[i][j] = tmp;
}
}
}
cout<<dp[num1-1][num2-1];
return 0;
}