# coding: utf-8 from bisect import bisect_left N, X, Y, Z = map(int, input().split()) A = list(map(int, input().split())) A.sort(reverse=True) if X+Y+Z < N: print("No") exit() V = [] V += [1000 for _ in range(X)] V += [5000 for _ in range(Y)] V += [10000 for _ in range(Z)] L = [] for i in range(N): v = A[i] flag = False while v >= 0 and V: idx = bisect_left(V, v) if idx == len(V): idx -= 1 v -= V[idx] V.pop(idx) if v < 0: flag = True L.append(flag) print("Yes" if sum(L) == N else "No")