#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;
}