// 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];
}
Ly8gd3JpdHRlbiBieSBFbmcuIEFiZHVsbGFoIEhheWRhcmkKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKaW50IG1haW4oKXsKICAgIHN0cmluZyBzMSxzMjsgY2luPj5zMT4+czI7CiAgICBpbnQgbj1zMS5zaXplKCk7CiAgICBpbnQgbT1zMi5zaXplKCk7CiAgICBpbnQgQVttKzFdLG1lbW9bbSsxXTsKICAgIGZvciAoaW50IGk9MDtpPD1tO2krKykKICAgICAgICBtZW1vW2ldPW0taTsKICAgIGZvciAoaW50IGk9bi0xO2k+PTA7aS0tKXsKICAgICAgICBBW21dPW4taTsKICAgICAgICBmb3IgKGludCBqPW0tMTtqPj0wO2otLSkKICAgICAgICAgICAgaWYgKHMxW2ldPT1zMltqXSkKICAgICAgICAgICAgICAgIEFbal09bWVtb1tqKzFdOwogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICBBW2pdPTErbWluKHttZW1vW2pdLEFbaisxXSxtZW1vW2orMV19KTsKICAgICAgICBmb3IgKGludCBqPTA7ajw9bTtqKyspCiAgICAgICAgICAgIG1lbW9bal09QVtqXTsKICAgIH0KICAgIGNvdXQ8PG1lbW9bMF07Cn0=