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:
// package com.company;




import java.math.*;

import java.util.*;
import java.lang.*;
import java.io.*;



public final class Main {
    static int [][] arr;
    static  boolean [][] px;
    static int m = 1000000007;





    public static void main(String[] args) throws Exception
    {
        // your code goes here



//   Collections.sort(xu, new Comparator<LongPair>() {
//       @Override public int compare(LongPair p1, LongPair p2)
//       {
//           return (int) ((int) p2.first - p1.first);
//       }
//   });
        FastReader s = new FastReader();

        //  for taking innput of array of length "len"

//                   int [] arr = new int[len];
//                    String [] strs =  s.nextLine().trim().split("\\s+");
//
//                   for (int i = 0; i < len; i++)
//                   {
//                       arr[i] = Integer.parseInt(strs[i]);
//
//
//                   }

//
//
        int t = s.nextInt();

//       // StringBuilder sb = new StringBuilder();
        while(t-->0)
        {
            int len = s.nextInt();
            int [] arr = new int[len];
                    String [] strs =  s.nextLine().trim().split("\\s+");

                   for (int i = 0; i < len; i++)
                   {
                       arr[i] = Integer.parseInt(strs[i]);


                   }
                   int i = 0;
                   int j = len-1;
                   while (i<=j)
                   {
                       System.out.print(arr[i]+ " ");
                       i++;
                       if(i>j)break;
                       System.out.print(arr[j]+" ");
                       j--;
                   }
            System.out.println();


        }











        //  for printing ar array of size "len"





    }




//    static long fastPow(long base, long exp, long m) {
//        if (exp == 0)
//            return 1;
//        long half = fastPow(base, exp / 2, m);
//        if (exp % 2 == 0)
//            return mul(half, half, m);
//        return mul(half, mul(half, base, m), m);
//    }
//
//    static long mul(long a, long b, long m) {
//        return a * b % m;
//    }
//
//

    static class FastReader
    {
        BufferedReader br;
        StringTokenizer st;

        public FastReader()
        {
            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;
        }
    }

}