main = do
  getLine
  a <- getLine >>= return . (map read) . words :: IO [Int]

  let (o,e) = splitOddEven a

  putStrLn $ (unwords . (map show)) $ (\xs -> if even (length xs) then reverse xs else xs) ((reverse o) ++ e)

  where
    splitOddEven xs = splitOddEven' xs 1
      where
        splitOddEven' [] _ = ([], [])
        splitOddEven' (x:xs) n
          | odd n = (x:o, e)
          | otherwise = (o, x:e)
          where
            (o, e) = splitOddEven' xs (n+1)
            
