Q,Y = map(int, input().split()) S = list(input().split()) def Reverse_Polish_Notation(S, x): stack = list() N = len(S) for i in range(N): if S[i] == "+": val = 0 for i in range(2): v = stack.pop() val += v stack.append(val) elif S[i] == "min": m = stack.pop() n = stack.pop() val = min(m, n) stack.append(val) elif S[i] == "max": m = stack.pop() n = stack.pop() val = max(m, n) stack.append(val) else: if S[i]=="X": stack.append(x) else: stack.append(int(S[i])) #print(stack) return stack[-1]==Y if Reverse_Polish_Notation(S,0): print(0) exit() l = -1 r = 10**13 while r-l>1: mid = (r+l)//2 if Reverse_Polish_Notation(S, mid): l = mid else: r = mid print(l)