#include<bits/stdc++.h>
using namespace std;
const int N=2005;
string s,s1;
int len1,len,f[N][N];
char s0[N],s11[N];
int dp(int x,int y)
{
if(f[x][y]!=-1) return f[x][y];
if(x==0) return f[x][y]=y;
if(y==0) return f[x][y]=x;
int sum=1;
if(s0[x]==s11[y]) sum=0;
return f[x][y]=min(dp(x-1,y)+1,min(dp(x-1,y-1)+sum,dp(x,y-1)+1));
}
int main()
{
cin>>s>>s1;
len=s.length();
len1=s1.length();
memset(f,-1,sizeof(f));
for(int i=1;i<=len;i++) s0[i]=s[i-1];
for(int i=1;i<=len1;i++) s11[i]=s1[i-1];
dp(len,len1);
cout<<f[len][len1];
}