def I():return int(input()) def MAP():return map(int,input().split()) def MAPs():return map(str,input().split()) def LI(): return list(map(int,input().split())) def TPL(): return tuple(map(int,input().split())) def S():return input() from collections import defaultdict,Counter,deque from copy import deepcopy from heapq import heapify,heappop,heappush from bisect import bisect_left,bisect_right from itertools import accumulate,product,permutations,combinations,combinations_with_replacement from math import gcd,ceil,floor,factorial,sqrt,pi,sin,cos,tan,radians,exp from functools import lru_cache import time import random inf=float('inf');mod=998244353;Mod=10**9+7 dydx=[(1,0),(0,1),(-1,0),(0,-1)] n,m,l=MAP() a=LI() width=max(l,max(a),m) dp=[[0]*(width+1) for _ in range(n+1)] dp[0][l]=1 for i in range(n): color=a[i] for j in range(1,width+1): if dp[i][j]==0: continue dp[i+1][j]=1 dp[i+1][(j+color)//2]=1 print('Yes' if dp[-1][m] else 'No')