Q, Y = map(int, input().split()) s = list(input().split()) def calc(x): A = [] for i in s: if i == 'X': A.append(x) elif i == '+': A.append(A.pop() + A.pop()) elif i == 'min': A.append(min(A.pop(), A.pop())) elif i == 'max': A.append(max(A.pop(), A.pop())) else: A.append(int(i)) return A[0] if calc(0) <= calc(10 ** 18): le = 0 ri = 10 ** 18 while le + 1 < ri: mi = (le + ri) // 2 if calc(mi) >= Y: ri = mi else: le = mi if calc(le) == Y: print(le) elif calc(ri) == Y: print(ri) else: print(-1) else: le = 0 ri = 10 ** 18 while le + 1 < ri: mi = (le + ri) // 2 if calc(mi) <= Y: ri = mi else: le = mi if calc(le) == Y: print(le) elif calc(ri) == Y: print(ri) else: print(-1)