#include<iostream>
#include<cstdio>
#include<cstring>
#include<string>
#include<algorithm>
#include<cmath>
#include<list>
#include<vector>
#include<queue>
#include<ctime>
#include<cstdlib>
#define maxn 2010
using namespace std;
typedef long long ll;
typedef unsigned long wf;
typedef unsigned int u32;
typedef unsigned long long u64;
int n,f[maxn][maxn];
string a,b;
int main(){
cin>>a>>b;
int n=a.length(),m=b.length();
for(int i=1;i<=n;i++) f[i][0]=i;
for(int i=1;i<=m;i++) f[0][i]=i;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;i++)
f[i][j]=min(min(f[i-1][j]+1,f[i][j-1]+1),f[i-1][j-1]+(a[i-1]!=b[j-1]));
cout<<f[n][m];
return 0;
}