Problem: Polycarp has a favorite sequence a[1 ... n] consisting of n integers. He wrote it out on the whiteboard as follows:

  * he wrote the number a_1 to the left side (at the beginning of the whiteboard); 
  * he wrote the number a_2 to the right side (at the end of the whiteboard); 
  * then as far to the left as possible (but to the right from a_1), he wrote the number a_3; 
  * then as far to the right as possible (but to the left from a_2), he wrote the number a_4; 
  * Polycarp continued to act as well, until he wrote out the entire sequence on the whiteboard. 

<image> The beginning of the result looks like this (of course, if n ≥ 4).

For example, if n=7 and a=[3, 1, 4, 1, 5, 9, 2], then Polycarp will write a sequence on the whiteboard [3, 4, 5, 2, 9, 1, 1].

You saw the sequence written on the whiteboard and now you want to restore Polycarp's favorite sequence.

Input

The first line contains a single positive integer t (1 ≤ t ≤ 300) — the number of test cases in the test. Then t test cases follow.

The first line of each test case contains an integer n (1 ≤ n ≤ 300) — the length of the sequence written on the whiteboard.

The next line contains n integers b_1, b_2,…, b_n (1 ≤ b_i ≤ 10^9) — the sequence written on the whiteboard.

Output

Output t answers to the test cases. Each answer — is a sequence a that Polycarp wrote out on the whiteboard.

Example

Input


6
7
3 4 5 2 9 1 1
4
9 2 7 1
11
8 4 3 1 2 7 8 7 9 4 2
1
42
2
11 7
8
1 1 1 1 1 1 1 1


Output


3 1 4 1 5 9 2 
9 1 2 7 
8 2 4 4 3 9 1 7 2 8 7 
42 
11 7 
1 1 1 1 1 1 1 1 

Note

In the first test case, the sequence a matches the sequence from the statement. The whiteboard states after each step look like this:

[3] ⇒ [3, 1] ⇒ [3, 4, 1] ⇒ [3, 4, 1, 1] ⇒ [3, 4, 5, 1, 1] ⇒ [3, 4, 5, 9, 1, 1] ⇒ [3, 4, 5, 2, 9, 1, 1].

Solution (in CPP):

Solution:
// Niyam Muliya  //  @niyam239  // Charusat  //
#include <bits/stdc++.h>
using namespace std;

#define fast ios::sync_with_stdio(0); cin.tie(0); cout.tie(0)
#define fr(i,a,n)	for(int i=a;i<n;i++)
#define rf(i,n,a)	for(int i=n-1;i>=a;i--)
#define pb push_back
#define F first
#define S second
#define all(s) s.begin(),s.end()
#define ll long long 
#define ld long double

typedef pair<ll,ll>pll;
typedef vector<ll> vll;
typedef vector<pair<ll,ll>>vpll;

bool flag=0,flag1=0,flag2=0;
int power(int a,int b)    {    int re=1;    while(b){    if(b&1) re=(re*a);    a=(a*a);    b=b>>1;}    return re;    } 
bool isPrime(int n) {    if(n==1 || n==0)    return false;    for (int i = 2; i * i <= n; ++i) {    if (n % i == 0) {    return false;}    }    return true;    }
const double PI=3.141592653589793;
const ll inf=INT_MAX,  inf64=LLONG_MAX, mod=1e9+7, N=1e5+5;

signed main(){
	fast;
	ll tn=1;	
	cin>>tn;
	while(tn--){
		int n;	cin>>n;
		ll a[n];
		fr(i,0,n)	cin>>a[i];
		ll ans[n];
		int j=0;
		for(int i=0;i<n;i+=2,j++){
			ans[i]=a[j];
		}
		j=n-1;
		for(int i=1;i<n;i+=2,j--){
			ans[i]=a[j];
		}
		fr(i,0,n)	cout<<ans[i]<<" ";
		cout<<"\n";
	}
	return 0;
}