#include <bits/stdc++.h>
using namespace std;
long long max_even(long long x) {
  if (x % 2 == 0) return x;
  return x - 1;
}
long long min_odd(long long x) {
  if (x % 2 == 0) return x - 1;
  return x;
}
string itoaa(long long n) {
  char x[100] = {'\0'};
  long long lim = log10(n);
  for (long long i = lim; i >= 0; i--) {
    x[i] = (n % 10) + '0';
    n = n / 10;
  }
  string r = x;
  return r;
}
long long gcd(long long a, long long b) {
  while (1) {
    if (b % a == 0) return a;
    if (a == 1) return 1;
    long long x = a;
    a = b % a;
    b = x;
  }
  return 1;
}
long long poww(long long x, long long n) {
  long long sum = 1, i;
  for (i = 1; i <= n; i++) sum *= x;
  return sum;
}
long long upr_bnd(long long x, long long siz, long long *arr) {
  return upper_bound(arr, arr + siz, x) - arr;
}
long long lr_bnd(long long x, long long siz, long long *arr) {
  return lower_bound(arr, arr + siz, x) - arr;
}
long long int_point_distance(long long x1, long long y1, long long x2,
                             long long y2) {
  return sqrt(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)));
}
float float_point_distance(float x1, float y1, float x2, float y2) {
  return sqrt(((x1 - x2) * (x1 - x2)) + ((y1 - y2) * (y1 - y2)));
}
void arrin(long long *arr, long long lo, long long hi) {
  long long i;
  for (i = lo; i <= hi; i++) scanf("%lld", &arr[i]);
}
void siv(long long n) {
  long long arr[n], i, j, sq;
  vector<long long> prime;
  memset(arr, 0, sizeof(arr));
  for (i = 2; i <= n; i += 2) arr[i] = 1;
  sq = sqrt(n);
  for (i = 3; i <= sq; i += 2) {
    if (arr[i] == 0) {
      for (j = i * 2; j <= n; j += i) arr[j] = 1;
    }
  }
  long long cnt = 0;
  prime.push_back(2);
  for (i = 2; i <= n; i++)
    if (arr[i] == 0) prime.push_back(i);
  printf("%lld\n", (long long)prime.size());
  return;
}
struct ss {
  long long a;
  long long cost;
  ss(long long x, long long y) {
    a = x;
    cost = y;
  }
};
vector<ss> v;
long long arr[9500000];
int main() {
  long long i, j, k, n, m, x, cnt = 0, count = 0, t, y, p, q, maxx = 0,
                              minn = 1 << 30, a, b, test = 0, len, sum = 0, c;
  scanf("%lld", &n);
  for (i = 1; i <= n; i++) scanf("%lld", &arr[i]);
  long long start = n / 2;
  cnt = 1;
  for (i = 1; i <= start; i++) {
    if (cnt % 2 == 1) swap(arr[i], arr[n - i + 1]);
    cnt++;
  }
  for (i = 1; i <= n; i++) printf("%lld ", arr[i]);
  printf("\n");
}
