#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; map m; int main() { // freopen("date.in", "r", stdin); // freopen("date.out","w", stdout); m["char"] = 1; m["short"] = 2; m["int"] = 4; string prev = "", s = ""; while(cin >> s) { if(s == "char" || s == "short" || s == "int") { prev = s; } else if(s == "unsigned") { continue; } else { int cost = m[prev]; int i = 0, res = 0; while(i < (int) s.size()) { string cr = ""; while(s[i] != ',' && i < (int) s.size()) { cr += s[i]; i++; } int numb = 0, final = 1; int posSt = cr.find("["); int posClose = cr.find("]"); while(posSt != -1) { numb = 0; for(int j = posSt + 1; j < posClose; j++) numb = 10 * numb + (cr[j] - '0'); posSt = cr.find("[",posClose + 1); posClose = cr.find("]",posClose + 1); final *= numb; } res += (final * cost); i++; } cout << res << "\n"; } } return 0; }