# import pypyjit;pypyjit.set_param("max_unroll_recursion=-1") # from bisect import * # from collections import * from heapq import * # from itertools import * # from sortedcontainers import * # from math import lcm # from datetime import * # from decimal import * # PyPyだと遅い # from string import ascii_lowercase, ascii_uppercase # import numpy as np # from atcoder.dsu import * # from atcoder.lazysegtree import * # from atcoder.segtree import * # from sortedcontainers import * from random import * import sys import os is_AtC = os.getenv("ATCODER", 0) # sys.setrecursionlimit(10**6) # PyPyは呪文を付ける INF = 1 << 61 MOD = 998244353 MOD = 10**9 + 7 File = sys.stdin def input(): return File.readline() # /////////////////////////////////////////////////////////////////////////// N, X, Y, Z = map(int, input().split()) A = list(map(lambda x: -int(x) - 1, input().split())) heapify(A) def operation(num, p): while A and num: pop = -heappop(A) d, m = divmod(pop, p) if d: if d > num: if -pop + p * num: heappush(A, -pop + p * num) num = 0 else: if m: heappush(A, -m) num -= d else: num -= 1 operation(Z, 10000) operation(Y, 5000) operation(X, 1000) # print(A) if not A: print("Yes") else: print("No")