qsort :: [Int] -> [Int] qsort [] = [] qsort (x:xs) = qsort [y | y <- xs, y <= x] ++ [x] ++ qsort [y | y <- xs, y > x] solve :: Int -> Int -> [Int] -> Int solve acc k (x:xs) | k >= x = solve (acc + 1) (k - x) xs solve acc _ _ = acc main :: IO () main = do input <- getContents let k:_:xs = map read (words input) print (solve 0 k (qsort xs))