N = int(input())
m = []
mdict = {}
for i in range(N):
    mdict[chr(ord('A')+i)]=list(map(int,input().strip().split()))
 
s = input()
temp = []
result = 0
for i in s:
    if i != ')':
        temp.append(i)
    else:
        mlist = []
        while temp[-1]!='(':
            mlist.append(temp.pop())
        temp.pop()
        tempi = mdict[mlist[-1]]
        A = mlist[0]
        for i in range(len(mlist)-2, -1, -1):   #最后一个已经被初始化为tempi的值,这里应该从-2开始,假设CB的长度为2,2-2为0,这是遍历取出的值就是C,B*C
            B = mlist[i]
            result += tempi[0]*mdict[B][1]*tempi[1]
            tempi = [tempi[0],mdict[B][1]]
        mdict[A]=tempi
        temp.append(A)          
         
 
print(result)