n,m = list(map(int,input().split()))

a = list(map(int, input().split()))

ord = []

summ = sum(a)

isSmallThan = True

for j in range(m):

  ord.append(max(a))

  a.remove(max(a))

for k in range(m):

  if ord[k]/summ >= 1/(4*m):

    isSmallThan = True

  else:

    isSmallThan = False

    break

print(('Yes' if isSmallThan else 'No'))

n,m = list(map(int,input().split()))

a = list(map(int,input().split()))

a.sort(reverse=True)

sumVote = sum(a)

ans = 0

for i in range(m):

    if a[i] < sumVote/(4*m):

        ans += 1

print(('Yes' if ans == 0 else 'No'))
n, m = list(map(int, input().split()))
a = list(map(int, input().split()))
ord = []
summ = sum(a)
isSmallThan = True
for j in range(m):
    ord.append(max(a))
    a.remove(max(a))
for k in range(m):
    if ord[k] / summ >= 1 / (4 * m):
        isSmallThan = True
    else:
        isSmallThan = False
        break
print(("Yes" if isSmallThan else "No"))

n, m = list(map(int, input().split()))
a = list(map(int, input().split()))
a.sort(reverse=True)
sumVote = sum(a)
ans = 0
for i in range(m):
    if a[i] < sumVote / (4 * m):
        ans += 1
print(("Yes" if ans == 0 else "No"))

-ord = [] -summ = sum(a) -isSmallThan = True -for j in range(m): -    ord.append(max(a)) -    a.remove(max(a)) -for k in range(m): -    if ord[k] / summ >= 1 / (4 * m): -        isSmallThan = True -    else: -        isSmallThan = False -        break -print(("Yes" if isSmallThan else "No")) +a.sort(reverse=True) +sumVote = sum(a) +ans = 0 +for i in range(m): +    if a[i] < sumVote / (4 * m): +        ans += 1 +print(("Yes" if ans == 0 else "No"))