#include<iostream>
#include<string>
#include<stack>
using namespace std;
string s;
int wt;
bool cf=false,q=false,sp=false;
double ans,k,tt;
int fz(char k){
if(k=='H')return 1;
if(k=='C')return 12;
if(k=='N')return 14;
if(k=='O')return 16;
if(k=='F')return 19;
if(k=='P')return 31;
if(k=='S')return 32;
if(k=='K')return 39;
if(k=='I')return 127;
}
double fz2(char x,char y){
if(x=='N'&&y=='a')return 23;
if(x=='M'&&y=='g')return 24;
if(x=='A'&&y=='l')return 27;
if(x=='S'&&y=='i')return 28;
if(x=='C'&&y=='l')return 35.5;
if(x=='C'&&y=='a')return 40;
if(x=='M'&&y=='n')return 55;
if(x=='F'&&y=='e')return 56;
if(x=='C'&&y=='u')return 64;
if(x=='Z'&&y=='n')return 65;
if(x=='A'&&y=='g')return 108;
if(x=='B'&&y=='a')return 137;
if(x=='H'&&y=='f')return 178.5;
if(x=='P'&&y=='t')return 195;
if(x=='A'&&y=='u')return 197;
if(x=='H'&&y=='g')return 201;
}
int sl(int pos){
int a;
while(s[++pos]>='0'&&s[pos]<='9'){
a=a*10+s[pos]-'0';
}
return a;
}
int main(){
cin>>s;
for(int i=0;i<s.size();i++){
if((s[i]>='a'&&s[i]<='z')||s[i]=='{'||s[i]=='}')continue;
if(s[i]=='('){
ans+=k;
k=0;
q=true;
}
if(s[i]>='A'&&s[i]<='Z'){
if(cf==true&&q==false)ans+=k;
if(q==true)tt+=k;
if(s[i+1]>='a'&&s[i+1]<='z')k=fz2(s[i],s[i+1]);
else k=fz(s[i]);
cf=true;
}
if(s[i]=='_'){
if(sp==true){
sp=false;
continue;
}
k=k*sl(i+1);
}
if(s[i]==')'){
tt+=k;
if(s[i+1]=='_')k=tt*sl(i+2);
else k=tt;
tt=0;
q=false;
sp=true;
}
if(s[i]=='~'){
ans+=k;
k=0;
if(s[i+1]>='0'&&s[i+1]<='9'){
wt=sl(i);
}
else wt=1;
ans=ans+wt*18;
break;
}
}
if(k!=0&&cf==true)ans+=k;
cout<<ans;
return 0;
}