q,y=map(int,input().split())

s=input().split()

def f(x:int):
    d=[]
    for i in s:
        if i=="X":
            d.append(x)
        elif i=="min":
            d.append(min(d.pop(),d.pop()))
        elif i=="max":
            d.append(max(d.pop(),d.pop()))
        elif i=="+":
            d.append(d.pop()+d.pop())
        else:
            d.append(int(i))
    return d[0]

l=-1
r=10**18

while r-l>1:
    m=(l+r)//2
    if f(m)<y:l=m
    else:r=m
if f(r)==y:
    print(r)
else:
    print(-1)