#include <cstdio> #include <iostream> #include <fstream> #include <vector> #include <list> #include <map> #include <set> #include <queue> #include <stack> #include <bitset> #include <algorithm> #include <sstream> #include <iomanip> #include <cmath> #include <cstdlib> #include <ctype.h> #include <cstring> #include <string> #include <ctime> #include <cassert> #include <utility> using namespace std; map<string, int> 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; }