main = do content <- getContents putStrLn (show $ foldl getOp 0 (lines content)) getOp :: Int -> String -> Int getOp acc number = acc + (math (read number)) + getFuel 0 (math(read number)) getFuel :: Int -> Int -> Int getFuel acc fuel = do if (math fuel) > 0 then acc + (math fuel) + getFuel acc (math fuel) else acc math :: Int -> Int math input = ((input `div` 3) - 2)