while True:
    try:
        n=int(input())
        dic={}
        for i in range(n):
            dic[chr(ord('A')+i)]=list(map(int,input().strip().split())) # 用strip()先去掉可能隐藏的末尾空格。再split(),防止map不过去
        s=input() # 输入要计算的法则
        result=0
        stack=[]
        for j in s:
            if j != ')': # 不遇到')'就一直压栈
                stack.append(j)
            else: # 直接遇到')',把前两个弹出来计算乘法运算量
                C=stack.pop()
                B=stack.pop()
                stack.pop() # 弹掉前括号'('
                result+=dic[B][0]*dic[B][1]*dic[C][1]
                dic[B]=[dic[B][0],dic[C][1]] # 把当前乘积的结果存储起来
                stack.append(B) # 把当前乘积结果入栈
        # 因为有最外圈括号,弹完所有')'即完成整个算式的结果
        print(result)
    except:
        break