(vjduge AC)
#include <stdio.h>
#include <ctype.h>
#include <string.h>
int main(){
char m[200];
int num[200];
int T;
scanf("%d",&T);
while(T--){
double formula=0;
memset(num,0,sizeof(num));
scanf("%s",&m);
for(int i=0;i<strlen(m);i++){
if(isdigit(m[i])){
int sum=0;
char alp;
alp=m[i-1];
while(isdigit(m[i])){
sum=sum*10+m[i]-'1'+1;//不能在此处就-1,会导致十位-1
i++;
}
num[alp]+=sum-1;//此处最终结果-1,因为算了两次
i--; //注意循环内还自带一个i++
}
else num[m[i]]++;
}
formula=num['C']*12.01+num['H']*1.008+num['O']*16.00+num['N']*14.01;
printf("%.3f\n",formula);
}
return 0;
}