module Main where import Control.Monad.State type Work = Int type Day = Int work :: Day -> State Work Day work 1 = return 1 work daysLeft = do workToDo <- get let todaysWork = workToDo `div` daysLeft ^ 2 put $ workToDo - todaysWork work $ daysLeft - 1 main :: IO() main = do ws <- getLine ds <- getLine let w = read ws :: Int let d = read ds :: Int let (_, workOfLastDay) = runState (work d) w print workOfLastDay return ()