#include <iostream>
#include <string>
using
namespace
std;
int
lefts[20], rights[20], father[20];
string s1, s2, s3;
int
n, ans;
void
calc(
int
x,
int
dep){
ans = ans + dep*(s1[x] -
'A'
+ 1);
if
(lefts[x] >= 0) calc(lefts[x], dep+1);
if
(rights[x] >= 0) calc(rights[x], dep+1);
}
void
check(
int
x){
if
(lefts[x] >= 0) check(lefts[x]);
s3 = s3 + s1[x];
if
(rights[x] >= 0) check(rights[x]);
}
void
dfs(
int
x,
int
th){
if
(th == n){
s3 =
""
;
check(0);
if
(s3 == s2){
ans = 0;
calc(0, 1);
cout<<ans<<endl;
}
return
;
}
if
(lefts[x] == -1 && rights[x] == -1){
lefts[x] = th;
father[th] = x;
dfs(th, th+1);
father[th] = -1;
lefts[x] = -1;
}
if
(rights[x] == -1){
rights[x] = th;
father[th] = x;
dfs(th, th+1);
father[th] = -1;
rights[x] = -1;
}
if
(father[x] >= 0)dfs(father[x], th);
}
int
main(){
cin>>s1;
cin>>s2;
n = s1.size();
memset
(lefts, -1,
sizeof
(lefts));
memset
(rights, -1,
sizeof
(rights));
memset
(father, -1,
sizeof
(father));
dfs(0, 1);
}