#include<bits/stdc++.h>
using namespace std;
map<string, double> m;
double read(){
char c;
cin >> c;
string s(1, c);
double cnt = 0, last;
while(cin >> c){
switch(c){
case '(':{
cnt += last = read();
break;
}case ')':
return cnt;
case '_':{
cnt += last = m[s];
s.resize(0);
char c1;
cin >> c1;
int k;
cin >> k >> c1;
cnt += (k - 1) * last;
break;
}case '~':{
int k;
cin >> k;
return cnt + k * 18;
}default:{
if(islower(c))
s.push_back(c);
else if(isupper(c)){
cnt += last = m[s];
s.resize(0);
s.push_back(c);
}
}
}
}return cnt + m[s];
}int main(){
m["H"] = 1;
m["C"] = 12;
m["N"] = 14;
m["O"] = 16;
m["F"] = 19;
m["Na"] = 23;
m["Mg"] = 24;
m["Al"] = 27;
m["Si"] = 28;
m["P"] = 31;
m["S"] = 32;
m["Cl"] = 35.5;
m["K"] = 39;
m["Ca"] = 40;
m["Mn"] = 55;
m["Fe"] = 56;
m["Cu"] = 64;
m["Zn"] = 65;
m["Ag"] = 108;
m["I"] = 127;
m["Ba"] = 137;
m["Hf"] = 178.5;
m["Pt"] = 195;
m["Au"] = 197;
m["Hg"] = 201;
cout << read();
}