n,k=map(int,input().split()) a=list(map(int,input().split())) if k in a: print('Yes') exit() b=[a[i] for i in range(n//2)] nb=len(b) c=[a[i] for i in range(n//2,n)] nc=len(c) s1=set() s2=set() s3=set() import itertools all=itertools.product([-1,0,1], repeat=nb) for x in all: cnt=0 for i in range(nb): cnt+=b[i]*x[i] if max(x)==1 and min(x)==-1: if cnt==k: print('Yes') exit() s1.add(cnt) elif max(x)==1: s2.add(cnt) elif min(x)==-1: s3.add(cnt) t1=set() t2=set() t3=set() import itertools all=itertools.product([-1,0,1], repeat=nc) for x in all: cnt=0 for i in range(nc): cnt+=c[i]*x[i] if max(x)==1 and min(x)==-1: if cnt==k: print('Yes') exit() t1.add(cnt) elif max(x)==1: t2.add(cnt) elif min(x)==-1: t3.add(cnt) for i in s1: if i+k in t1 or i+k in t2 or i+k in t3: print('Yes') exit() for i in s2: if i+k in t1 or i+k in t2: print('Yes') exit() for i in s3: if i+k in t1 or i+k in t3: print('Yes') exit() print('No')