import Control.Applicative import Control.Monad import qualified Data.ByteString.Char8 as B import Data.Maybe (fromJust) import Text.Printf import Data.List (sort) readInts :: B.ByteString -> [Int] readInts = map (fst . fromJust . B.readInt) . B.words getInts :: IO [Int] getInts = liftM readInts B.getLine main = do [n,m] <- getInts xs <- getInts print $ solve m $ sort xs solve 0 _ = 0 solve m (x:xs) = if m < x then 0 else (1+) $ solve (m-x) xs