Q, Y = map(int, input().split()) S = list(input().split()) def func(x): stack = [] for op in S: if op == "+": a, b = int(stack.pop()), int(stack.pop()) stack.append(a+b) elif op == "min": a, b = int(stack.pop()), int(stack.pop()) stack.append(min(a, b)) elif op == "max": a, b = int(stack.pop()), int(stack.pop()) stack.append(max(a, b)) elif op == "X": stack.append(x) else: stack.append(int(op)) return stack[0] INF = 10**18 minus = func(-INF) plus = func(INF) if Y < minus or plus < Y: exit(print(-1)) left = -INF right = INF while left+1 < right: mid = (left+right)//2 if func(mid) < Y: left = mid else: right = mid if func(right) == Y: if right >= 0: print(right) elif func(0) == Y: print(0) else: print(-1) else: print(-1)