Python3: 栈
while True: try: n,dic,stk,num = int(input()),{},[],0 for i in range(n): key = chr(ord('A')+i) dic[key] = list(map(int,input().strip().split())) x = input() for i in range(len(x)): if x[i] != ')': stk.append(x[i]) else: C,B = stk.pop(),stk.pop() stk.pop() num += dic[B][0]*dic[C][1]*dic[B][1] dic[B] = [dic[B][0],dic[C][1]] stk.append(B) print(num) except: break