You are given an integer sequence of length n, a_1, ..., a_n. Let us consider performing the following n operations on an empty sequence b.  The i-th operation is as follows:    1. Append a_i to the end of b.   2. Reverse the order of the elements in b.  Find the sequence b obtained after these n operations.
BIGMOD = 10**9+7

def modPow(x,n):
    ans = 1
    while n >= 1:
        if bin( n & 1)==bin(1):
            ans = (ans*x) % BIGMOD
        x = x * x % BIGMOD
        n = n>>1
    return ans % BIGMOD

def modFact(N):
    fact = []
    fact.append(1) #0! = 1
    for i in range(1,N+1):
        a = fact[i-1]*i % BIGMOD
        fact.append(a)
    return fact

def modInvFact(fact):
    invFact = []
    for i in range(1,N+2):
        a = modPow(fact[i-1],BIGMOD-2)
        invFact.append(a)
    return invFact

def modPlus(a,b):
    return (a + b) % BIGMOD

def modMinus(a,b):
    if a-b >= 0:
        return (a - b) % BIGMOD
    else:
        return (a - b + BIGMOD)
    
def modMulti(a,b):
    return a * b % BIGMOD

# fact(n),invFact(r),invFact(n-r)
def nCr(fact,invFact,n,r):
    return (fact[n] * invFact[r] * invFact[n-r] ) %BIGMOD

n = int(input())
a = list(map(int,input().split()))

odda = []
evena = []
for i in range(n):
    if i%2 == 0:
        odda.append(a[i])
    else:
        evena.append(a[i])
ans = []
if n%2 == 0:
    evena.reverse()
    for i in range(len(evena)):
        ans.append(evena[i])
    for i in range(len(odda)):
        ans.append(odda[i])
else:
    odda.reverse()
    for i in range(len(odda)):
        ans.append(odda[i])
    for i in range(len(evena)):
        ans.append(evena[i])

print(ans)
BIGMOD = 10**9+7

def modPow(x,n):
    ans = 1
    while n >= 1:
        if bin( n & 1)==bin(1):
            ans = (ans*x) % BIGMOD
        x = x * x % BIGMOD
        n = n>>1
    return ans % BIGMOD

def modFact(N):
    fact = []
    fact.append(1) #0! = 1
    for i in range(1,N+1):
        a = fact[i-1]*i % BIGMOD
        fact.append(a)
    return fact

def modInvFact(fact):
    invFact = []
    for i in range(1,N+2):
        a = modPow(fact[i-1],BIGMOD-2)
        invFact.append(a)
    return invFact

def modPlus(a,b):
    return (a + b) % BIGMOD

def modMinus(a,b):
    if a-b >= 0:
        return (a - b) % BIGMOD
    else:
        return (a - b + BIGMOD)
    
def modMulti(a,b):
    return a * b % BIGMOD

# fact(n),invFact(r),invFact(n-r)
def nCr(fact,invFact,n,r):
    return (fact[n] * invFact[r] * invFact[n-r] ) %BIGMOD

n = int(input())
a = list(map(int,input().split()))

odda = []
evena = []
for i in range(n):
    if i%2 == 0:
        odda.append(a[i])
    else:
        evena.append(a[i])
ans = []
if n%2 == 0:
    evena.reverse()
    for i in range(len(evena)):
        ans.append(evena[i])
    for i in range(len(odda)):
        ans.append(odda[i])
else:
    odda.reverse()
    for i in range(len(odda)):
        ans.append(odda[i])
    for i in range(len(evena)):
        ans.append(evena[i])

print(" ".join(map(str,ans)))