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.*;
public class Template {
	
	static Scanner sc=new Scanner(System.in);


	public static void main (String[] args) throws java.lang.Exception
	{
	

		
	int test=sc.nextInt();
	
	while(test-->0) {
	int n=sc.nextInt();
	ArrayList<Integer> arr=arrInp(n);
	String s="";
	if(n==1) {
		System.out.println(arr.get(0));
		continue;
	}
		for(int i=0,j=n-1;;i++,j--) {
			 if(i<n/2) {
			s+=String.valueOf(arr.get(i))+" ";
			}
			 if(j>=n/2) {
				 s+=String.valueOf(arr.get(j))+" ";
			 }
			else {
				break;
			}

	}
		System.out.println(s);
	}
		
	}
	




	
	

		
		
	
		
	

	
	
	

		
	
	
	
	
	
	
	
	
	
	
	
	

	
	
	public static int Lif(int a,int b) {
		if((b%a)==0) {
			return (int)b/a;
		}
		return (int)(b/a)+1;
	}
	
	
	
	public static ArrayList<Integer> arrInp(int n){
		ArrayList<Integer> arr=new ArrayList();
		for(int i=0;i<n;i++) {
		arr.add(sc.nextInt());	
		}
		return arr;
	}
	public static void printArr(ArrayList<Integer> arr) {
		for(int i=0;i<arr.size();i++) {
			System.out.print(arr.get(i)+" ");
	}	}
	
	
	public static int min(int a,int b,int c) {
		int min1=Math.min(a, b);
		return Math.max(min1,c);
	}
}