solve :: [Int] -> Int solve vs = aux 0 where aux n | (drop n vs == []) = 0 | otherwise = max ((vs !! n) + solveList !! (n + 2)) (solveList !! (n + 1)) solveList = [aux n | n <- [0,1..]] main :: IO () main = do n <- (read :: String -> Int) <$> getLine vs <- (map read . words) <$> getLine (putStr . show . solve) vs