#include<cctype>
#include<cstdio>
#include<string>
#include<iostream>
#include<stack>
using namespace std;
struct Matrix{
int a,b;
// Matrix(int a=0,int b=0):a(a),b(b){}
// Matrix(int a,int b){
// this.a=a;
// this.b=b;
// }
}m[26];
int main(){
// freopen("input.txt","r",stdin);
int n;
string s;
stack<Matrix>st;
cin>>n;
while(n--){
cin>>s;
int k = s[0]-'A';
cin>>m[k].a>>m[k].b;
}
while(cin>>s){
int len = s.length();
int ans = 0;
int error = 0;
for(int i=0 ;i<len ;i++){
if(isalpha(s[i])){
st.push(m[s[i]-'A']);
}
if(s[i]==')'){
Matrix m2 = st.top();
st.pop();
Matrix m1 = st.top();
st.pop();
// Matrix m3 = Matrix(m1.a,m2.b);
Matrix m3;
m3.a=m1.a;
m3.b=m2.b;
if(m1.b!=m2.a){error=1;break;}
st.push(m3);
ans += m1.a*m1.b*m2.b;
}
}
if(error)
printf("error\n");
else
printf("%d\n",ans);
}
return 0;
}