module Main where import Data.List (group, scanl', sortBy) type Input = (Int, [Int]) type Output = Int parse :: String -> Input parse s = let [_, k] = map read . words . head $ lines s ps = map read . words . (!! 1) $ lines s in (k, ps) solve :: Input -> Output solve (k, ps) = last . takeWhile (<= k) . scanl' (+) 0 . map length . group . sortBy (flip compare) $ ps render :: Output -> String render = show main :: IO () main = interact ( render . solve . parse )