""" https://yukicoder.me/problems/no/1015 大きい貨幣を割り当てて、余ったら大きい奴を消しておく? おつりが出ないとだめなのか +1 円しとけばok? """ N,X,Y,Z = map(int,input().split()) A = list(map(int,input().split())) for i in range(N): A[i] += 1 for i in range(N): pick = min(Z,A[i]//10000) A[i] -= pick * 10000 Z -= pick A.sort() for i in range(Z): if A: A.pop() for i in range(len(A)): pick = min(Y,A[i]//5000) A[i] -= pick * 5000 Y -= pick A.sort() for i in range(Y): if A: A.pop() for i in range(len(A)): pick = min( X , (A[i]+999)//1000 ) A[i] -= pick * 1000 X -= pick if len(A) == 0 or max(A) <= 0: print ("Yes") else: print ("No")