#include<iostream>
#include<string.h>
using namespace std;
int f[2001][2001];
char a[2001],b[2001];
int main()
{
cin>>a>>b;
int lena=strlen(a);
int lenb=strlen(b);
// cout<<lena<<' '<<lenb<<endl;
for(int i=0;i<=lena;i++)
{
for(int j=0;j<=lenb;j++)
{
if(i==0)
{
f[i][j]=j; continue;
}
if(j==0)
{
f[i][j]=i; continue;
}
if(a[i-1]==b[j-1])
{
f[i][j]=f[i-1][j-1];
continue;
}
f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1;
}
}
cout<<f[lena][lenb];
return 0;
}
#include<string.h>
using namespace std;
int f[2001][2001];
char a[2001],b[2001];
int main()
{
cin>>a>>b;
int lena=strlen(a);
int lenb=strlen(b);
// cout<<lena<<' '<<lenb<<endl;
for(int i=0;i<=lena;i++)
{
for(int j=0;j<=lenb;j++)
{
if(i==0)
{
f[i][j]=j; continue;
}
if(j==0)
{
f[i][j]=i; continue;
}
if(a[i-1]==b[j-1])
{
f[i][j]=f[i-1][j-1];
continue;
}
f[i][j]=min(f[i-1][j-1],min(f[i-1][j],f[i][j-1]))+1;
}
}
cout<<f[lena][lenb];
return 0;
}