#include<cstdio>
#include<cstring>
using namespace std;
const int MAXL=1005;
char a[MAXL],b[MAXL],dp[MAXL][MAXL];
int min(int a,int b) {
if(a<b)
return a;
return b;
}
int main() {
int n,m;
scanf("%s",a);
scanf("%s",b);
n=strlen(a);
m=strlen(b);
for(int i=1;i<=n;i++)
dp[i][0]=i;
for(int i=1;i<=m;i++)
dp[0][i]=i;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
if(a[i-1]==b[j-1])
dp[i][j]=dp[i-1][j-1];
else
dp[i][j]=min(min(dp[i-1][j],dp[i][j-1]),dp[i-1][j-1])+1;
printf("%d",dp[n][m]);
return 0;
}