threshold :: Int -> [Int] -> Float
threshold m as = (fromIntegral . sum $ as) / (4.0 * fromIntegral m) 

point :: Int -> [Int] -> Int -> Int
point m as a = if fromIntegral a >= threshold m as then 1 else 0

selectedCount :: Int -> [Int] -> Int
selectedCount m as = foldr ((+) . point m as) 0 as

result :: Int -> [Int] -> String
result m as = if m <= selectedCount m as then "Yes" else "No"



main :: IO ()
main = do

    [n, m] <- map read . words <$> getLine :: IO [Int]
    as <- map read . words <$> getLine :: IO [Int]
    let as' = take n as 
    putStrLn $ result m as'