// written by Eng. Abdullah Haydari
#include <bits/stdc++.h>
using namespace std;
int main(){
string s1,s2; cin>>s1>>s2;
int n=s1.size();
int m=s2.size();
int A[m+1],memo[m+1];
for (int i= 0;i<=m;i++)
memo[i]=m-i;
for (int i=n-1;i>=0;i--){
A[m]=n-i;
for (int j=m-1;j>=0;j--)
if (s1[i]==s2[j])
A[j]=memo[j+1];
else
A[j]=1+min({memo[j], A[j+1],memo[j+1]});
for (int j=0;j<=m;j++)
memo[j]=A[j];
}
cout<<memo[0];
}
Ly8gd3JpdHRlbiBieSBFbmcuIEFiZHVsbGFoIEhheWRhcmkKI2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmludCBtYWluKCl7CiAgICBzdHJpbmcgczEsczI7IGNpbj4+czE+PnMyOwogICAgaW50IG49czEuc2l6ZSgpOwogICAgaW50IG09czIuc2l6ZSgpOwogICAgaW50IEFbbSsxXSxtZW1vW20rMV07CiAgICBmb3IgKGludCBpPSAwO2k8PW07aSsrKQogICAgICAgIG1lbW9baV09bS1pOwogICAgZm9yIChpbnQgaT1uLTE7aT49MDtpLS0pewogICAgICAgIEFbbV09bi1pOwogICAgICAgIGZvciAoaW50IGo9bS0xO2o+PTA7ai0tKQogICAgICAgICAgICBpZiAoczFbaV09PXMyW2pdKQogICAgICAgICAgICAgICAgQVtqXT1tZW1vW2orMV07CiAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIEFbal09MSttaW4oe21lbW9bal0sIEFbaisxXSxtZW1vW2orMV19KTsKICAgICAgICBmb3IgKGludCBqPTA7ajw9bTtqKyspCiAgICAgICAgICAgIG1lbW9bal09QVtqXTsKICAgIH0KICAgIGNvdXQ8PG1lbW9bMF07Cn0=