import Data.List (sort) import Control.Applicative ((<$>)) findMaximum :: Int -> [Int] -> Int findMaximum = findMaximum' 0 0 where findMaximum' :: Int -> Int -> Int -> [Int] -> Int findMaximum' n w l [] = n findMaximum' n w l (b : bs) | w' > l = n | otherwise = findMaximum' (n + 1) w' l bs where w' = w + b main :: IO () main = do l <- readLn :: IO Int _ <- getLine bs <- sort . map read . words <$> getLine putStrLn $ show $ findMaximum l bs