import Data.Set import Data.Array main = do n <- readLn a <- fmap read . words <$> getLine let g = accumArray (flip (:)) [] (0, n) $ zip a [1..] dfs s i = findIndex i s + sum [dfs (insert j s) j | j <- g ! i] print $ dfs (singleton 0) 0