After failing to qualify for the National Olympiad in Informatics because of his childish mistake, Xorin decided to build a tool that will ensure he never gets a Memory Limit Exceeded feedback ever again.
When Xorin writes a new source file, he wants to be able to type into the tool a code sequence corresponding to his declaration of variables. The tool should then interpret the sequence and output the total memory allocated for said variables.
A C variable declaration looks like TYPE VAR1,VAR2,..,VARn
, where
TYPE
is the type of the variable:char
(1 byte),short
(2 bytes),int
(4 bytes), each of them optionally preceded byunsigned
VARk
looks likeNAME
(a scalar) orNAME[DIM1][DIM2]..[DIMn]
(a N-dimensional vector). A vector needs as much memory asDIM1 * DIM2 * ... * DIMn
scalars of the same type.
int n,m
, unsigned short vec[5][100],othervec[105],randomvar
. Input
A list of C variable declarations in the format above, separated by newlines. The input ends with a newline character.Output
A list of integers separated by newlines. Thei
th integer is the amount of memory needed to store the variabled declared on the i
th line of the input Notes
- Each input line is at most 100 characters long
- Variable names cannot be empty and may only contain lowercase letters
- On each line, there are no spaces after the first letter of the first variable name
- All numbers in the output are smaller than 109
Sample
Input | Output |
---|---|
char marint,a[20] int b[2],c[1],d,e unsigned int d short a,b,c,d[2][2][2],munsigned | 21 20 4 24 |