import qualified Data.Vector.Unboxed as V
import qualified Data.Vector.Unboxed.Mutable as VM
import Data.ByteString.Char8 as B
import Data.Maybe
import Data.Char
import Data.List
import Control.Monad
import Control.Monad.ST

put :: Int -> IO ()
put s = Prelude.putStr $ show s ++ " "

solve vec n 
    | even n = do
        forM_ (Data.List.reverse [1,3..n-1]) $ \i -> VM.read vec i >>= put
        forM_ [0,2..n-2] $ \i -> VM.read vec i >>= put
        Prelude.putStrLn ""
    | otherwise = do
        forM_ [1,3..n-2] $ \i -> VM.read vec i >>= put
        forM_ (Data.List.reverse [0,2..n-1]) $ \i -> VM.read vec i >>= put
        Prelude.putStrLn ""

main = do
    n <- readLn :: IO Int
    xs <- V.unfoldrN n (B.readInt . B.dropWhile isSpace) <$> B.getLine
    xs' <- V.unsafeThaw xs
    solve xs' n
    