output_description: Print n integers in a line with spaces in between. The i-th integer should be
  b_i.
  
  * * *
input_description: Input is given from Standard Input in the following format:
  
      
      
      n
      a_1 a_2 ... a_n
attempt: #!/usr/bin/env python3
  from collections import defaultdict
  from collections import deque
  from heapq import heappush, heappop
  import sys
  import math
  import bisect
  import random
  import itertools
  
  sys.setrecursionlimit(10**5)
  stdin = sys.stdin
  bisect_left = bisect.bisect_left
  bisect_right = bisect.bisect_right
  
  
  def LI():
      return list(map(int, stdin.readline().split()))
  
  
  def LF():
      return list(map(float, stdin.readline().split()))
  
  
  def LI_():
      return list(map(lambda x: int(x) - 1, stdin.readline().split()))
  
  
  def II():
      return int(stdin.readline())
  
  
  def IF():
      return float(stdin.readline())
  
  
  def LS():
      return list(map(list, stdin.readline().split()))
  
  
  def S():
      return list(stdin.readline().rstrip())
  
  
  def IR(n):
      return [II() for _ in range(n)]
  
  
  def LIR(n):
      return [LI() for _ in range(n)]
  
  
  def FR(n):
      return [IF() for _ in range(n)]
  
  
  def LFR(n):
      return [LI() for _ in range(n)]
  
  
  def LIR_(n):
      return [LI_() for _ in range(n)]
  
  
  def SR(n):
      return [S() for _ in range(n)]
  
  
  def LSR(n):
      return [LS() for _ in range(n)]
  
  
  mod = 1000000007
  inf = float("INF")
  
  
  # A
  def A():
      a, b, c = LI()
      print(min(a + b, b + c, c + a))
      return
  
  
  # B
  def B():
      def check(s):
          x = len(s)
          if x % 2:
              return False
          if s[: x // 2] == s[x // 2 :]:
              return True
  
      s = S()
      for i in range(1, len(s)):
          if check(s[:-i]):
              print(len(s) - i)
              return
  
  
  # C
  def C():
      II()
      a = LI()
      ans1 = a[-1::-2]
      ans2 = a[-2::-2]
      ans = ans1 + ans2
      print(*ans)
      return
  
  
  # D
  def D():
      return
  
  
  # Solve
  if __name__ == "__main__":
      C()
  
problem_description: Statement
  
  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.
samples: [{"input": "4\n    1 2 3 4", "output": "4 2 1 3\n    \n\n  * After step 1 of the first operation, b becomes: 1.\n  * After step 2 of the first operation, b becomes: 1.\n  * After step 1 of the second operation, b becomes: 1, 2.\n  * After step 2 of the second operation, b becomes: 2, 1.\n  * After step 1 of the third operation, b becomes: 2, 1, 3.\n  * After step 2 of the third operation, b becomes: 3, 1, 2.\n  * After step 1 of the fourth operation, b becomes: 3, 1, 2, 4.\n  * After step 2 of the fourth operation, b becomes: 4, 2, 1, 3.\n\nThus, the answer is `4 2 1 3`.\n\n* * *"}, {"input": "3\n    1 2 3", "output": "3 1 2\n    \n\nAs shown above in Sample Output 1, b becomes 3, 1, 2 after step 2 of the third\noperation. Thus, the answer is `3 1 2`.\n\n* * *"}, {"input": "1\n    1000000000", "output": "1000000000\n    \n\n* * *"}, {"input": "6\n    0 6 7 6 7 0", "output": "0 6 6 0 7 7"}]