#include <bits/stdc++.h>

using namespace std;

#define     mp              make_pair
#define     fs              first
#define     sc              second
#define     pob             pop_back
#define     pub             push_back
#define     eps             1E-7
#define     sz(a)           a.size()
#define     count_one       __builtin_popcount;
#define     count_onell     __builtin_popcountll;
#define     fastIO          ios_base::sync_with_stdio(false)
#define     PI              (acos(-1.0))
#define     linf            (1LL<<62)//>4e18
#define     inf             (0x7f7f7f7f)//>2e9

#define MAXN 100

#ifndef ONLINE_JUDGE
ifstream f("D:/C++/in");
ofstream g("D:/C++/out");
#endif

char type[20];
char in[110];
int base, res, res2;
int i;

int getDigit() {
    int res = 0;
    while(in[i] >= '0' && in[i] <= '9') {
        res = res * 10 + in[i] - '0';
        i++;
    }
    return res;
}

int main() {
    while(!cin.eof()) {
        f >> type;
        if(strcmp(type, "unsigned") == 0)
            f >> type;
        if(strcmp(type, "char") == 0)
            base = 1;
        else if(strcmp(type, "short") == 0)
            base = 2;
        else if(strcmp(type, "int") == 0)
            base = 4;

        f >> in;
        int sz = strlen(in);
        res = 0;

        for(i = 0; i <= sz; ++i) {
            while(in[i] >= 'a' && in[i] <= 'z')
                i++;
            if(in[i] == ',' || i >= sz) {
                res += base, i++;
                continue;
            }
            res2 = base;
            while(in[i] == '[') {
                i++;
                res2 *= getDigit();
                i++;
            }
            if(in[i] == ',')
                i++;
            res += res2;
        }
        cout << res << "\n";
    }
    return 0;
}