{----------------------------------------------------------------------------- Space Coconut Crab (Practice for Domestic Contest, 2007) Copyright(C) 2007, T.Yoshino -----------------------------------------------------------------------------} loop f g n = foldl1 min [g x | x <- takeWhile (\x -> f x <= n) [0..]] searchY n = loop f (\y -> y + n - f y) n where f x = x * x searchZ n = loop f (\z -> z + searchY (n - f z)) n where f x = x * x * x main = do l <- getLine let n = read l if n > 0 then print (searchZ n) >> main else return ()