#include using namespace std; #define FOR(a, b, c) for(int a = b; a < c; ++a) #define SZ(a) (int)((a).size()) using ll = long long; const int N = 2e4 + 7; int dp[N][N]; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); string a, b; cin >> a >> b; int xd = 0; auto parse = [&](string& s) { string res = ""; for(auto& i : s) { if(isdigit(i)) { int x = i - '0'; FOR(d, 0, x) res += "#"; xd++; } else { res += i; } } return res; }; string s = parse(a), t = parse(b); cerr << s << "\n" << t << "\n"; int n = SZ(s), m = SZ(t); FOR(i, 0, n + 1) FOR(j, 0, m + 1) dp[i][j] = 1e9 + 7; FOR(i, 0, n + 1) dp[i][0] = i; FOR(j, 0, m + 1) dp[0][j] = j; FOR(i, 1, n + 1) { FOR(j, 1, m + 1) { dp[i][j] = min(dp[i - 1][j], dp[i][j - 1]) + 1; if(s[i - 1] == t[j - 1] or s[i - 1] == '#' or t[j - 1] == '#') { dp[i][j] = min(dp[i][j], dp[i - 1][j - 1]); } } } cout << dp[n][m] + xd << "\n"; }