import Data.List.Split (splitOn) winsFromTimeDist :: (Int, Int) -> Int winsFromTimeDist (time, dist) = length $ filter (> dist) $ zipWith (*) [0..time] (reverse [0..time]) main :: IO () main = do lines <- lines <$> getContents -- let values = map (map (\y -> read y :: Int) . splitOn [' '] . drop 9) lines let values = map (read . filter (/= ' ') . drop 9) lines :: [Int] let wins = winsFromTimeDist (values!!0, values!!1) print wins