import
java.io.*;
class
GFG {
static
int
lcs(
int
dp[][], String a, String b,
int
m,
int
n)
{
for
(
int
i =
0
; i <
100
; i++)
for
(
int
j =
0
; j <
100
; j++)
dp[i][j] = -
1
;
if
(m <
0
|| n <
0
) {
return
0
;
}
if
(dp[m][n] != -
1
)
return
dp[m][n];
int
ans =
0
;
if
(a.charAt(m) == b.charAt(n)) {
ans = (a.charAt(m) -
48
) + lcs(dp, a, b,
m -
1
, n -
1
);
}
else
ans = Math.max(lcs(dp, a, b, m -
1
, n),
lcs(dp, a, b, m, n -
1
));
dp[m][n] = ans;
return
ans;
}
static
int
costOfString(String str)
{
int
cost =
0
;
for
(
int
i =
0
; i < str.length(); i++)
cost += (str.charAt(i) -
48
);
return
cost;
}
public
static
void
main (String[] args) {
String a, b;
a =
"9142"
;
b =
"1429"
;
int
dp[][] =
new
int
[
101
][
101
];
System.out.print( (costOfString(a) + costOfString(b) -
2
* lcs(dp, a, b, a.length() -
1
,
b.length() -
1
)));
}
}