using System;
using System.Collections.Generic;
using System.Linq;
using System.Numerics;
using System.Reflection.Emit;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApp1
{
    public class Ring
    {
        private int[] ary;
        private int first;
        private int last;
        public Ring( int size )
        {
            ary = new int[size];
            last = size / 2;
            first = size / 2-1;
        }

        public void AddLast(int i)
        {
            ary[last++] = i;
        }

        public void AddFirst(int i)
        {
            ary[first--] = i;
        }

        public void Reverse()
        {
            Console.WriteLine(string.Join(" ", ary.Reverse()));
        }

        public void Print()
        {
            Console.WriteLine(string.Join(" ", ary));
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            //string str = Console.ReadLine();
            //Main2(str);
            //MainSS(str);
            MainC();
        }
        /// <summary>
        /// 引数 n の階乗 n! を計算します。
        /// </summary>
        /// <param name="n">自然数 n</param>
        /// <returns>n の階乗</returns>
        public static BigInteger Factorial(BigInteger n)
        {
            if (n < 0)
            {
                throw new ArgumentOutOfRangeException();
            }
            BigInteger y = 1;
            for (var i = n; i > 0; --i)
            {
                y *= i;
            }
            return y;
        }

        static void MainD()
        {

            var n = int.Parse(Console.ReadLine());
            var ary = Console.ReadLine().Split().Select(int.Parse).ToArray();
            Console.WriteLine(n);

            for (int i = 1; i < n+1; i++)
            {
                //(n+1)C(i)
                Console.WriteLine(Factorial(n + 1) / (Factorial(i) * Factorial(n + 1 - i)));

            }
        }

        static void MainC()
        {
            var n = int.Parse(Console.ReadLine());
            var ary = Console.ReadLine().Split().Select(int.Parse).ToArray();
            
            Ring r = new Ring(ary.Length);
            for (int i = 0; i < n; i++)
            {
                if(i % 2 == 0)
                    r.AddLast(ary[i]);
                else
                    r.AddFirst(ary[i]);
            }
            if(ary.Length % 2 == 0)
                r.Print();
            else
                r.Reverse();


        }

        static void MainSS(string str)
        {
            for (int i = 2; i < str.Length; i+=2)
            {
                if (JudgeGu(str.Substring(0, str.Length - i)))
                {
                    Console.WriteLine(str.Length - i);
                    break;
                }
            }
        }

        static bool JudgeGu(string str)
        {
            if (str.Length % 2 != 0) return false;

            string sub = str.Substring(0, str.Length / 2);
            return (sub + sub) == str;
        }

        static void Main2(string str)
        {
            var kakaku = str.Split().Select(int.Parse).ToArray();
            Array.Sort(kakaku);
            Console.WriteLine(kakaku[0] + kakaku[1]);
        }
    }
}


Measured memory_bytes: 52024