import Control.Monad
import Data.Maybe
import Data.List
import qualified Data.ByteString.Char8 as BS
import qualified Data.Vector as V
 
main = abc161b

abc161b = do
    [n, m] <- getIntList
    prods <- getIntList
    let prodsV = V.fromList prods
    let boolV = V.filter (== True) $ fmap (checkSelect m (V.sum prodsV)) prodsV
    putStrLn $ 
        if V.length boolV < fromIntegral m
            then "No"
            else "Yes"

checkSelect :: Integer -> Integer -> Integer -> Bool
checkSelect m sum prod
    | prod * 4 * m < sum  = False
    | otherwise = True


readInt = fst . fromJust . BS.readInteger
readIntList = map readInt . BS.words
getIntList = readIntList <$> BS.getLine
getIntNList n = map readIntList <$> replicateM (fromIntegral n) BS.getLine
