#

# Written by NoKnowledgeGG @YlePhan

# ('ω')

#

#import math

#mod = 10**9+7

#import itertools

#import fractions

#import numpy as np

#mod = 10**4 + 7

"""def kiri(n,m):

  r_ = n / m

  if (r_ - (n // m)) > 0:

    return (n//m) + 1

  else:

    return (n//m)"""



""" n! mod m 階乗

mod = 1e9 + 7

N = 10000000

fac = [0] * N

def ini():

  fac[0] = 1 % mod

  for i in range(1,N):

    fac[i] = fac[i-1] * i % mod"""



"""mod = 1e9+7

N = 10000000

pw = [0] * N

def ini(c):

  pw[0] = 1 % mod

  for i in range(1,N):

    pw[i] = pw[i-1] * c % mod"""



"""

def YEILD():

  yield 'one'

  yield 'two'

  yield 'three'

generator = YEILD()

print(next(generator))

print(next(generator))

print(next(generator))

"""

"""def gcd_(a,b):

  if b == 0:#結局はc,0の最大公約数はcなのに

    return a

  return gcd_(a,a % b) # a = p * b + q"""

"""def extgcd(a,b,x,y):

  d = a

  if b!=0:

    d = extgcd(b,a%b,y,x)

    y -= (a//b) * x

    print(x,y)

  else:

    x = 1

    y = 0

  return d"""





def readInts():

  return list(map(int,input().split()))

mod = 10**9 + 7

def main():

  n = int(eval(input()))

  *A, = list(map(int,input().split())) # こうすることで、当データとidxが取得できる！！！つよ！！

  from collections import deque

  B = deque([]) # リストとして活用できる

  for i,a in enumerate(A):

    if i % 2 == 0:

      B.append(a)

    else:

      B.appendleft(a)

  if n % 2 == 1:

    B.reverse() # 逆順に

  print((*B))

if __name__ == '__main__':

  main()
#from statistics import median

#import collections

#aa = collections.Counter(a) # list to list || .most_common(2)で最大の2個とりだせるお a[0][0]

from fractions import gcd

from itertools import combinations,permutations,accumulate # (string,3) 3回

#from collections import deque

from collections import deque,defaultdict,Counter

#import bisect

#

#    d = m - k[i] - k[j]

#    if kk[bisect.bisect_right(kk,d) - 1] == d:

#

#

#

# pythonで無理なときは、pypyでやると正解するかも！！

#

#



import sys

sys.setrecursionlimit(10000000)

mod = 10**9 + 7

#mod = 9982443453

def readInts():

  return list(map(int,input().split()))

def I():

  return int(eval(input()))

n = I()

A = readInts()

dq = deque()

for i in range(n):

    if i%2:

        dq.appendleft(A[i])

    else:

        dq.append(A[i])

if n%2:

    dq = list(dq)[::-1]

print((*dq))

#
# Written by NoKnowledgeGG @YlePhan
# ('ω')
#
# import math
# mod = 10**9+7
# import itertools
# import fractions
# import numpy as np
# mod = 10**4 + 7
"""def kiri(n,m):
  r_ = n / m
  if (r_ - (n // m)) > 0:
    return (n//m) + 1
  else:
    return (n//m)"""
""" n! mod m 階乗
mod = 1e9 + 7
N = 10000000
fac = [0] * N
def ini():
  fac[0] = 1 % mod
  for i in range(1,N):
    fac[i] = fac[i-1] * i % mod"""
"""mod = 1e9+7
N = 10000000
pw = [0] * N
def ini(c):
  pw[0] = 1 % mod
  for i in range(1,N):
    pw[i] = pw[i-1] * c % mod"""
"""
def YEILD():
  yield 'one'
  yield 'two'
  yield 'three'
generator = YEILD()
print(next(generator))
print(next(generator))
print(next(generator))
"""
"""def gcd_(a,b):
  if b == 0:#結局はc,0の最大公約数はcなのに
    return a
  return gcd_(a,a % b) # a = p * b + q"""
"""def extgcd(a,b,x,y):
  d = a
  if b!=0:
    d = extgcd(b,a%b,y,x)
    y -= (a//b) * x
    print(x,y)
  else:
    x = 1
    y = 0
  return d"""


def readInts():
    return list(map(int, input().split()))


mod = 10**9 + 7


def main():
    n = int(eval(input()))
    (*A,) = list(map(int, input().split()))  # こうすることで、当データとidxが取得できる！！！つよ！！
    from collections import deque

    B = deque([])  # リストとして活用できる
    for i, a in enumerate(A):
        if i % 2 == 0:
            B.append(a)
        else:
            B.appendleft(a)
    if n % 2 == 1:
        B.reverse()  # 逆順に
    print((*B))


if __name__ == "__main__":
    main()

# from statistics import median
# import collections
# aa = collections.Counter(a) # list to list || .most_common(2)で最大の2個とりだせるお a[0][0]
from fractions import gcd
from itertools import combinations, permutations, accumulate  # (string,3) 3回

# from collections import deque
from collections import deque, defaultdict, Counter

# import bisect
#
#    d = m - k[i] - k[j]
#    if kk[bisect.bisect_right(kk,d) - 1] == d:
#
#
#
# pythonで無理なときは、pypyでやると正解するかも！！
#
#
import sys

sys.setrecursionlimit(10000000)
mod = 10**9 + 7
# mod = 9982443453
def readInts():
    return list(map(int, input().split()))


def I():
    return int(eval(input()))


n = I()
A = readInts()
dq = deque()
for i in range(n):
    if i % 2:
        dq.appendleft(A[i])
    else:
        dq.append(A[i])
if n % 2:
    dq = list(dq)[::-1]
print((*dq))

+# from statistics import median +# import collections +# aa = collections.Counter(a) # list to list || .most_common(2)で最大の2個とりだせるお a[0][0] +from fractions import gcd +from itertools import combinations, permutations, accumulate  # (string,3) 3回 + +# from collections import deque +from collections import deque, defaultdict, Counter + +# import bisect -# Written by NoKnowledgeGG @YlePhan -# ('ω') +#    d = m - k[i] - k[j] +#    if kk[bisect.bisect_right(kk,d) - 1] == d: -# import math -# mod = 10**9+7 -# import itertools -# import fractions -# import numpy as np -# mod = 10**4 + 7 -"""def kiri(n,m): -  r_ = n / m -  if (r_ - (n // m)) > 0: -    return (n//m) + 1 -  else: -    return (n//m)""" -""" n! mod m 階乗 -mod = 1e9 + 7 -N = 10000000 -fac = [0] * N -def ini(): -  fac[0] = 1 % mod -  for i in range(1,N): -    fac[i] = fac[i-1] * i % mod""" -"""mod = 1e9+7 -N = 10000000 -pw = [0] * N -def ini(c): -  pw[0] = 1 % mod -  for i in range(1,N): -    pw[i] = pw[i-1] * c % mod""" -""" -def YEILD(): -  yield 'one' -  yield 'two' -  yield 'three' -generator = YEILD() -print(next(generator)) -print(next(generator)) -print(next(generator)) -""" -"""def gcd_(a,b): -  if b == 0:#結局はc,0の最大公約数はcなのに -    return a -  return gcd_(a,a % b) # a = p * b + q""" -"""def extgcd(a,b,x,y): -  d = a -  if b!=0: -    d = extgcd(b,a%b,y,x) -    y -= (a//b) * x -    print(x,y) -  else: -    x = 1 -    y = 0 -  return d""" +# +# +# pythonで無理なときは、pypyでやると正解するかも！！ +# +# +import sys - +sys.setrecursionlimit(10000000) +mod = 10**9 + 7 +# mod = 9982443453 -mod = 10**9 + 7 +def I(): +    return int(eval(input())) -def main(): -    n = int(eval(input())) -    (*A,) = list(map(int, input().split()))  # こうすることで、当データとidxが取得できる！！！つよ！！ -    from collections import deque - -    B = deque([])  # リストとして活用できる -    for i, a in enumerate(A): -        if i % 2 == 0: -            B.append(a) -        else: -            B.appendleft(a) -    if n % 2 == 1: -        B.reverse()  # 逆順に -    print((*B)) - - -if __name__ == "__main__": -    main() +n = I() +A = readInts() +dq = deque() +for i in range(n): +    if i % 2: +        dq.appendleft(A[i]) +    else: +        dq.append(A[i]) +if n % 2: +    dq = list(dq)[::-1] +print((*dq))