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 JAVA):

Solution:
import java.util.*;
import java.io.*;

public class MyClass {
	
	public static void main (String[] args) {	
		MyScanner cin = new MyScanner();
	    out = new PrintWriter(new BufferedOutputStream(System.out));
	    
		int test = cin.nextInt();
		for(int t = 0; t < test; ++t) {
			int n = cin.nextInt();
			int[] a = new int[n];
			for(int i = 0; i < n; i++) a[i] = cin.nextInt();
			int lim = n >> 1;
			for(int i = 0; i < lim; ++i) {
				out.print(a[i] + " " + a[n - 1 - i] + " ");
			}
			if(n % 2 != 0) out.print(a[lim]);
			out.println();
		}
		out.close();
	}
	
	// ----- faster output ----- //
	public static PrintWriter out;
	
	// ----- faster input ----- //
	public static class MyScanner {
	    BufferedReader br;
	    StringTokenizer st;
	    public MyScanner() {
	    	br = new BufferedReader(new InputStreamReader(System.in));
	    }
	    String next() {
	        while(st == null || !st.hasMoreElements()) {
	        	try {
	                st = new StringTokenizer(br.readLine());
	            } catch (IOException e) {
	                e.printStackTrace();
	            }
	        }
	        return st.nextToken();
	    }
	 
	    int nextInt() {
	        return Integer.parseInt(next());
	    }
	 
	    long nextLong() {
	        return Long.parseLong(next());
	    }
	 
	    double nextDouble() {
	        return Double.parseDouble(next());
	    }
	 
	    String nextLine() {
	        String str = "";
		    try {
			    str = br.readLine();
			} catch (IOException e) {
			    e.printStackTrace();
			}
			return str;
	    }
	}
	
}