#include <iostream>
using namespace std;
int findEditDistance(string s1,string s2,int len1, int len2){
int dist[len1+1][len2+1];
for(int i=0;i<=len1;i++){
dist[i][0] = i;
}
for(int j=0;j<=len2;j++){
dist[0][j] = j;
}
for(int i=1;i<=len1;i++){
for(int j=1;j<=len2;j++){
dist[i][j] = min(((s1[i-1]!=s2[j-1])?1:0) + dist[i-1][j-1],min(1+dist[i-1][j],1+dist[i][j-1]));
}
}
for(int i=0;i<=len1;i++){
for(int j=0;j<=len2;j++){
cout<<dist[i][j]<<" ";
}
cout<<endl;
}
return dist[len1][len2];
}
int main() {
// your code goes here
string s1,s2;
cin>>s1>>s2;
int len1 = s1.length();
int len2 = s2.length();
int editDist = findEditDistance(s1,s2,len1,len2);
cout<<editDist<<endl;
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGZpbmRFZGl0RGlzdGFuY2Uoc3RyaW5nIHMxLHN0cmluZyBzMixpbnQgbGVuMSwgaW50IGxlbjIpewoJaW50IGRpc3RbbGVuMSsxXVtsZW4yKzFdOwoJCglmb3IoaW50IGk9MDtpPD1sZW4xO2krKyl7CgkJZGlzdFtpXVswXSA9IGk7Cgl9Cglmb3IoaW50IGo9MDtqPD1sZW4yO2orKyl7CgkJZGlzdFswXVtqXSA9IGo7Cgl9CgkKCWZvcihpbnQgaT0xO2k8PWxlbjE7aSsrKXsKCQlmb3IoaW50IGo9MTtqPD1sZW4yO2orKyl7CgkJCWRpc3RbaV1bal0gPSBtaW4oKChzMVtpLTFdIT1zMltqLTFdKT8xOjApICsgZGlzdFtpLTFdW2otMV0sbWluKDErZGlzdFtpLTFdW2pdLDErZGlzdFtpXVtqLTFdKSk7CgkJfQoJfQoJCglmb3IoaW50IGk9MDtpPD1sZW4xO2krKyl7CgkJZm9yKGludCBqPTA7ajw9bGVuMjtqKyspewoJCQljb3V0PDxkaXN0W2ldW2pdPDwiICI7CgkJfQoJCWNvdXQ8PGVuZGw7Cgl9CgkKCXJldHVybiBkaXN0W2xlbjFdW2xlbjJdOwp9CmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJc3RyaW5nIHMxLHMyOwoJY2luPj5zMT4+czI7CgkKCWludCBsZW4xID0gczEubGVuZ3RoKCk7CglpbnQgbGVuMiA9IHMyLmxlbmd0aCgpOwoJCglpbnQgZWRpdERpc3QgPSBmaW5kRWRpdERpc3RhbmNlKHMxLHMyLGxlbjEsbGVuMik7Cgljb3V0PDxlZGl0RGlzdDw8ZW5kbDsKCXJldHVybiAwOwp9