#include <bits/stdc++.h>
using namespace std;
 
#define IOS ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
#define rep(i, x, y)   for (__typeof(x) i = x; i < y; i++)
#define repr(i, x, y)   for (__typeof(x) i = x; i > y; i --)
#define all(x)                      (x).begin(),(x).end()
#define Sort(x)                     sort(all((x)))
#define rSort(x)                    sort((x).rbegin(),(x).rend())
#define X                           first
#define Y                           second
#define sep                         ' '
#define SZ(x)                       ll(x.size())
#define MAX(a,b) ((a)>(b)?(a):(b))
#define MIN(a,b) ((a)<(b)?(a):(b))
#define pb                          push_back
#define pf                          push_front
#define mp                          make_pair
typedef long long ll;
typedef long double ld;
typedef pair<ll, ll> pll;
typedef pair<double, double> pdd;
typedef vector<ll> vll;
#define first X
#define second Y
 
const ll N = 1e17 + 10;
const ll M = 1e9 + 7;

long long binpow(long long a, long long b) {
    long long res = 1;
    while (b > 0) {
        if (b & 1)
            res = res * a;
        a = a * a;
        b >>= 1;
    }
    return res;
}

// void dfs(int s) {
//   if (visitedd[s]==1) return;
//   visitedd[s] = 1;
//   ll sum=0;
//   for (auto u: A[s]) {
//     sum+=S[u];
//   }
//   if(sum==1) S[s]=2;
//   else S[s]=1;
//   for (auto u: A[s]) {
//     dfs(u);
//   }
// }

void fn1(){
  ll n,v;
  vll A;
  cin >> n;
  rep(i,0,n){
    cin >> v;
    A.pb(v);
  }
  ll i=0,j=n-1;
  while(i<j){
    cout << A[i] << sep << A[j] << sep;
    i++;
    j--;
  }
  if(n%2!=0){
    cout << A[n/2];
  }
   

}

int32_t main()
{
  IOS;
  ll t;
  cin >> t;
  //t=1;
  while(t--){
    fn1();
    cout << endl;
  }
} 