#include<bits/stdc++.h>
using namespace std;
const int N=10012;
double a[N],ans,sum;
int be,n;
char ele[N][2],s[100002];
inline double calc()
{
char p=ele[n][0],q=ele[n][1];
if (p=='H'&&q=='g') return 201;
if (p=='H'&&q=='f') return 178.5;
if (p=='H') return 1;
if (p=='B') return 137;
if (p=='C'&&q=='u') return 64;
if (p=='C'&&q=='l') return 35.5;
if (p=='C'&&q=='a') return 40;
if (p=='C') return 12;
if (p=='N'&&q=='a') return 23;
if (p=='N') return 14;
if (p=='O') return 16;
if (p=='F'&&q=='e') return 56;
if (p=='F') return 19;
if (p=='M'&&q=='g') return 24;
if (p=='M'&&q=='n') return 55;
if (p=='A'&&q=='g') return 108;
if (p=='A'&&q=='u') return 197;
if (p=='A') return 27;
if (p=='S'&&q=='i') return 28;
if (p=='S') return 32;
if (p=='P') return 31;
if (p=='K') return 39;
if (p=='Z') return 65;
if (p=='I') return 127;
if (p=='P') return 195;
}
int main()
{
scanf("%s",s+1);int len=strlen(s+1);
int i=0;
while (i<=len)
{
i++;
if (s[i]=='~') break;
if (s[i]>='A'&&s[i]<='Z') {
ele[++n][0]=s[i];
if (!((s[i+1]>='a')&&(s[i+1]<='z'))) a[n]=calc();
continue;
}
if (s[i]>='a'&&s[i]<='z') {ele[n][1]=s[i];a[n]=calc();}
if (s[i]=='('){ sum=0,be=n;}
if (s[i]==')')
{
for (int j=be+1; j<=n; j++)sum+=a[j];
}
if (s[i]=='{')
{
i++;int x=0;
while ((s[i]>='0')&&(s[i]<='9'))
{
x=(x<<1)+(x<<3)+s[i]-48;
i++;
}
if (sum>0)
for (int j=be+1; j<=n; j++) a[j]*=x;
else a[n]*=x;
sum=0;
}
/*printf("%d\n",n);
for (int j=1; j<=n; j++)
{
putchar(ele[j][0]);putchar(ele[j][1]);
printf("%.1f\n",a[j]);
}
printf("sum:%.1f\n",sum);
printf("ans:%.1f\n",ans);*/
}
// if ((s[i-1]>='A'&&s[i-1]<='Z')||(s[i-1]>='a')&&(s[i-1]<='z')) a[n]=calc();
for (int j=1; j<=n;j++) sum+=a[j];ans+=sum;
//printf("%.1f\n",ans);
if (s[i]=='~')
{
double y=0;
i++;
if (s[i]>='0'&&s[i]<='9')
{
while ((s[i]>='0')&&(s[i]<='9'))
{
y=y*10+s[i]-48;
i++;
}
ans+=18.0*y;
}
else ans+=18;
}
if ((ans-(int)ans)!=0) printf("%d.5",(int)ans);
else printf("%d\n",(int)ans);
return 0;
}