import bisect N, X, Y, Z = map(int, input().split()) A = list(map(int, input().split())) def pay(yen, num): A.sort() i = bisect.bisect_left(A, yen) while i < len(A): pay = min(num, A[i] // yen) num -= pay A[i] -= yen * pay if num <= 0: return i += 1 # 残ってるのはyen円以下 A.sort() while A and num: A.pop() num -= 1 return if A and Z: pay(10000, Z) if A and Y: pay(5000, Y) if A and X: pay(1000, X) ans = "No" if A else "Yes" print(ans)