#include <bits/stdc++.h>
using namespace std;
typedef long long int ll;
ll dp[1005][1005];
int main(){
string s,t;
cin>>s>>t;
ll n = s.size();
ll m = t.size();
for(ll i=0;i<=n+2;i++){
for(ll j=0;j<=m+2;j++){
dp[i][j] = 1e18 ;
}
}
vector<vector<ll>> ps(n + 5, vector<ll>(30 + 1, 0));
vector<vector<ll>> pt(m + 5, vector<ll>(30 + 1, 0));
for(ll i=0;i<=n-1;i++){
ll c = s[i]-'a';
c++;
ps[i+1][c] = 1;
}
for(ll j=0;j<=m-1;j++){
ll c = t[j]-'a';
c++;
pt[j+1][c] = 1;
}
for(ll i=1;i<=n;i++){
for(ll j=1;j<=28;j++){
ps[i][j] = ps[i][j] + ps[i-1][j];
}
}
for(ll i=1;i<=m;i++){
for(ll j=1;j<=28;j++){
pt[i][j] = pt[i][j] + pt[i-1][j];
}
}
dp[0][0] = 0 ;
for(ll i=0;i<s.size();i++){
char c = s[i];ll g = 0;
for(ll u=0;u<=i-1;u++){
if(s[u]>c){
g++;
}
}
dp[i+1][0] = dp[i][0] + g; //cout<<g<<"\n";
}
for(ll j=0;j<t.size();j++){
char c = t[j];ll g = 0;
for(ll u=0;u<=j-1;u++){
if(t[u]>c){
g++;
}
}
dp[0][j+1] = dp[0][j] + g; //cout<<g<<"\n";
}
for(ll i=0;i<s.size();i++){
for(ll j=0;j<t.size();j++){
//dp[i+1][j+1]-->dp[i][j+1].....
//[0.....i-1]+[0......j]
char c = s[i];ll g = 0;
for(ll u=0;u<=i-1;u++){
if(s[u]>c){
g++;
}
}
for(ll u=0;u<=j;u++){
if(t[u]>c){
g++;
}
}
dp[i+1][j+1] = min(dp[i+1][j+1],dp[i][j+1] + g);
//dp[i+1][j+1]-->dp[i+1][j]....
//[0..........i]+[0.....j-1]......
c = t[j];g = 0;
for(ll u=0;u<=i;u++){
if(s[u]>c){
g++;
}
}
for(ll u=0;u<=j-1;u++){
if(t[u]>c){
g++;
}
}
dp[i+1][j+1] = min(dp[i+1][j+1],dp[i+1][j] + g);
//cout<<i+1<<" "<<j+1<<" "<<dp[i+1][j+1]<<"\n";
}
}
cout<<dp[n][m];
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGludCBsbDsgCmxsIGRwWzEwMDVdWzEwMDVdOwoKCmludCBtYWluKCl7CglzdHJpbmcgcyx0OwoJY2luPj5zPj50OyAKCWxsIG4gPSBzLnNpemUoKTsKCWxsIG0gPSB0LnNpemUoKTsKCQoJZm9yKGxsIGk9MDtpPD1uKzI7aSsrKXsKCQlmb3IobGwgaj0wO2o8PW0rMjtqKyspewoJCQlkcFtpXVtqXSA9IDFlMTggOyAKCQl9Cgl9CgkKCXZlY3Rvcjx2ZWN0b3I8bGw+PiBwcyhuICsgNSwgdmVjdG9yPGxsPigzMCArIDEsIDApKTsgCgl2ZWN0b3I8dmVjdG9yPGxsPj4gcHQobSArIDUsIHZlY3RvcjxsbD4oMzAgKyAxLCAwKSk7IAoJCglmb3IobGwgaT0wO2k8PW4tMTtpKyspewoJICAgIGxsIGMgPSBzW2ldLSdhJzsKCSAgICBjKys7CgkgICAgcHNbaSsxXVtjXSA9IDE7Cgl9CgkKCWZvcihsbCBqPTA7ajw9bS0xO2orKyl7CgkgICAgbGwgYyA9IHRbal0tJ2EnOwoJICAgIGMrKzsKCSAgICBwdFtqKzFdW2NdID0gMTsKCX0KCQoJZm9yKGxsIGk9MTtpPD1uO2krKyl7CgkgICAgZm9yKGxsIGo9MTtqPD0yODtqKyspewoJICAgICAgICBwc1tpXVtqXSA9IHBzW2ldW2pdICsgcHNbaS0xXVtqXTsKCSAgICB9Cgl9CgkKCWZvcihsbCBpPTE7aTw9bTtpKyspewoJICAgIGZvcihsbCBqPTE7ajw9Mjg7aisrKXsKCSAgICAgICAgcHRbaV1bal0gPSBwdFtpXVtqXSArIHB0W2ktMV1bal07CgkgICAgfQoJfQoJCgkKCQoJCglkcFswXVswXSA9IDAgOyAKCQoJZm9yKGxsIGk9MDtpPHMuc2l6ZSgpO2krKyl7CgkJY2hhciBjID0gc1tpXTtsbCBnID0gMDsKCQkJZm9yKGxsIHU9MDt1PD1pLTE7dSsrKXsKCQkJCWlmKHNbdV0+Yyl7CgkJCQkJZysrOwoJCQkJfQoJCQl9CgkJZHBbaSsxXVswXSA9IGRwW2ldWzBdICsgZzsJLy9jb3V0PDxnPDwiXG4iOwoJCX0KCQkKCWZvcihsbCBqPTA7ajx0LnNpemUoKTtqKyspewoJCWNoYXIgYyA9IHRbal07bGwgZyA9IDA7CgkJCWZvcihsbCB1PTA7dTw9ai0xO3UrKyl7CgkJCQlpZih0W3VdPmMpewoJCQkJCWcrKzsKCQkJCX0KCQkJfQoJCWRwWzBdW2orMV0gPSBkcFswXVtqXSArIGc7CS8vY291dDw8Zzw8IlxuIjsKCQl9CQoJCQoJCQoJCQoJCQoJCQoJCglmb3IobGwgaT0wO2k8cy5zaXplKCk7aSsrKXsKCQlmb3IobGwgaj0wO2o8dC5zaXplKCk7aisrKXsKCQkJLy9kcFtpKzFdW2orMV0tLT5kcFtpXVtqKzFdLi4uLi4KCQkJLy9bMC4uLi4uaS0xXStbMC4uLi4uLmpdCgkJCWNoYXIgYyA9IHNbaV07bGwgZyA9IDA7CgkJCWZvcihsbCB1PTA7dTw9aS0xO3UrKyl7CgkJCQlpZihzW3VdPmMpewoJCQkJCWcrKzsKCQkJCX0KCQkJfQoJCQlmb3IobGwgdT0wO3U8PWo7dSsrKXsKCQkJCWlmKHRbdV0+Yyl7CgkJCQkJZysrOwoJCQkJfQoJCQl9CgkJCQoJCQlkcFtpKzFdW2orMV0gPSBtaW4oZHBbaSsxXVtqKzFdLGRwW2ldW2orMV0gKyBnKTsgCgkJCQoJCQkvL2RwW2krMV1baisxXS0tPmRwW2krMV1bal0uLi4uCgkJCS8vWzAuLi4uLi4uLi4uaV0rWzAuLi4uLmotMV0uLi4uLi4KCQkJCgkJCWMgPSB0W2pdO2cgPSAwOwoJCQlmb3IobGwgdT0wO3U8PWk7dSsrKXsKCQkJCWlmKHNbdV0+Yyl7CgkJCQkJZysrOwoJCQkJfQoJCQl9CgkJCWZvcihsbCB1PTA7dTw9ai0xO3UrKyl7CgkJCQlpZih0W3VdPmMpewoJCQkJCWcrKzsKCQkJCX0KCQkJfQoJCQkKCQkJZHBbaSsxXVtqKzFdID0gbWluKGRwW2krMV1baisxXSxkcFtpKzFdW2pdICsgZyk7CgkJCS8vY291dDw8aSsxPDwiICI8PGorMTw8IiAiPDxkcFtpKzFdW2orMV08PCJcbiI7CgkJCQoJCQkKCQl9Cgl9CgkKCWNvdXQ8PGRwW25dW21dOwoJCgkKCQoJcmV0dXJuIDA7IAp9