N, X, Y, Z = gets.split.map(&:to_i) A = gets.split.map { |a| a.to_i + 1 } counter = { 1_000 => X, 5_000 => Y, 10_000 => Z } [10_000, 5_000, 1_000].each do |m| A.sort! A.reverse! N.times do |i| a = A[i] next if a <= 0 d = [counter[m], a / m].min A[i] -= m * d counter[m] -= d break if counter[m] <= 0 end A.sort! A.reverse! N.times do |i| a = A[i] next if a <= 0 break if counter[m] <= 0 A[i] -= m counter[m] -= 1 end end if A.any?(&:positive?) puts 'No' else puts 'Yes' end