#include<stdio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>
typedef struct
{
int a[101];
int top;
}stack;
void push(stack *s,int val);
void pop(stack *s);
int mult;
int main()
{
stack s;
s.top=-1;
int i,len;
char temp[101],c;
i=0;
while(i<len)
{
c=temp[i];
if(c!=')')
{
switch(c)
{
case 'H':
push(&s,1);
break;
case 'O':
push(&s,16);
break;
case 'C':
push(&s,12);
break;
case '(':
push(&s,0);
break;
default : mult=c-'0';
int q=s.a[s.top];
q=q*mult;
s.top--;
push(&s,q);
break;
}
}
else // ) pop
{
pop(&s);
{
int val,mult;
mult=temp[i+1]-'0';
val=s.a[s.top];
val=val*mult;
s.top--;
push(&s,val);
i++;
}
}
i++;
}
int sum=0;
while(s.top!=-1)
{
sum+=s.a[s.top];
s.top--;
}
return 0;
}
void push(stack *s,int val)
{
s->a[++s->top]=val;
}
void pop(stack *s)
{
int v,t=0;
while(s->a[s->top]!=0)
{
v=s->a[s->top--];
t+=v;
}
s->top--;
push(s,t);
}
I2luY2x1ZGU8c3RkaW8uaD4KI2luY2x1ZGU8c3RkbGliLmg+CiNpbmNsdWRlPGN0eXBlLmg+CiNpbmNsdWRlPHN0cmluZy5oPgp0eXBlZGVmIHN0cnVjdAp7CiAgaW50IGFbMTAxXTsKICBpbnQgdG9wOwp9c3RhY2s7CnZvaWQgcHVzaChzdGFjayAqcyxpbnQgdmFsKTsKdm9pZCBwb3Aoc3RhY2sgKnMpOwppbnQgbXVsdDsKaW50IG1haW4oKQp7CiAgc3RhY2sgczsKICBzLnRvcD0tMTsKICBpbnQgaSxsZW47CiAgY2hhciB0ZW1wWzEwMV0sYzsKICBnZXRzKHRlbXApOwogIGxlbj1zdHJsZW4odGVtcCk7CiAgaT0wOwogIHdoaWxlKGk8bGVuKQogIHsKICAgIGM9dGVtcFtpXTsKICAgIGlmKGMhPScpJykKICAgIHsKICAgIHN3aXRjaChjKQogICAgewogICAgICBjYXNlICdIJzoKICAgICAgICAgICAgICAgIHB1c2goJnMsMSk7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgY2FzZSAnTyc6CgogICAgICAgICAgICAgICAgcHVzaCgmcywxNik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgY2FzZSAnQyc6CgogICAgICAgICAgICAgICAgcHVzaCgmcywxMik7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgY2FzZSAnKCc6CiAgICAgICAgICAgICAgICBwdXNoKCZzLDApOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICBkZWZhdWx0IDogbXVsdD1jLScwJzsKICAgICAgICAgICAgICAgIGludCBxPXMuYVtzLnRvcF07CiAgICAgICAgICAgICAgICBxPXEqbXVsdDsKICAgICAgICAgICAgICAgIHMudG9wLS07CiAgICAgICAgICAgICAgICBwdXNoKCZzLHEpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICB9CiAgICB9CiAgICBlbHNlICAgICAgICAgICAgIC8vICApIHBvcAogICAgewogICAgICBwb3AoJnMpOwogICAgICBpZihpKzE8bGVuICYmIGlzZGlnaXQodGVtcFtpKzFdKSkKICAgICAgewogICAgICAgIGludCB2YWwsbXVsdDsKICAgICAgICBtdWx0PXRlbXBbaSsxXS0nMCc7CiAgICAgICAgdmFsPXMuYVtzLnRvcF07CiAgICAgICAgdmFsPXZhbCptdWx0OwogICAgICAgIHMudG9wLS07CiAgICAgICAgcHVzaCgmcyx2YWwpOwogICAgICAgIGkrKzsKICAgICAgfQoKICAgIH0KCiAgICBpKys7CiAgfQogIGludCBzdW09MDsKICB3aGlsZShzLnRvcCE9LTEpCiAgewogICAgc3VtKz1zLmFbcy50b3BdOwogICAgcy50b3AtLTsKICB9CiAgcHJpbnRmKCIlZCIsc3VtKTsKICByZXR1cm4gMDsKfQp2b2lkIHB1c2goc3RhY2sgKnMsaW50IHZhbCkKewogIHMtPmFbKytzLT50b3BdPXZhbDsKfQp2b2lkIHBvcChzdGFjayAqcykKewogIGludCB2LHQ9MDsKICB3aGlsZShzLT5hW3MtPnRvcF0hPTApCiAgewogICAgdj1zLT5hW3MtPnRvcC0tXTsKICAgIHQrPXY7CiAgfQogIHMtPnRvcC0tOwogIHB1c2gocyx0KTsKfQo=