import           Data.List                      ( sort
                                                , splitAt
                                                )

minimumVotes :: Float -> Float -> Float
minimumVotes allVotes m = allVotes / (4.0 * m)

main = do
    s <- getLine
    let (n : m : _) = map read $ words s :: [Int]
    let m'          = fromIntegral m :: Float

    votes' <- getLine
    let votes            = map read $ words votes' :: [Int]

    let sortedVotes      = reverse . sort $ votes
    let (targetVotes, _) = splitAt m sortedVotes

    let
        result' =
            flip map targetVotes
                $ (\vote ->
                      fromIntegral vote
                          >= minimumVotes (fromIntegral $ sum votes) m'
                  )
    let result = all id result'


    case result of
        True  -> putStrLn "Yes"
        False -> putStrLn "No"
