Problem: You are given a positive integer n, it is guaranteed that n is even (i.e. divisible by 2).

You want to construct the array a of length n such that: 

  * The first n/2 elements of a are even (divisible by 2); 
  * the second n/2 elements of a are odd (not divisible by 2); 
  * all elements of a are distinct and positive; 
  * the sum of the first half equals to the sum of the second half (∑_{i=1}^{n/2} a_i = ∑_{i=n/2 + 1}^{n} a_i). 



If there are multiple answers, you can print any. It is not guaranteed that the answer exists.

You have to answer t independent test cases.

Input

The first line of the input contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

The only line of the test case contains one integer n (2 ≤ n ≤ 2 ⋅ 10^5) — the length of the array. It is guaranteed that that n is even (i.e. divisible by 2).

It is guaranteed that the sum of n over all test cases does not exceed 2 ⋅ 10^5 (∑ n ≤ 2 ⋅ 10^5).

Output

For each test case, print the answer — "NO" (without quotes), if there is no suitable answer for the given test case or "YES" in the first line and any suitable array a_1, a_2, ..., a_n (1 ≤ a_i ≤ 10^9) satisfying conditions from the problem statement on the second line.

Example

Input


5
2
4
6
8
10


Output


NO
YES
2 4 1 5
NO
YES
2 4 6 8 1 3 5 11
NO

Solution (in JAVA):

Solution:
import java.util.*;
// scanner.nextInt();
// gatogari.
public class Solution {
    public static void main(String[] args) {       

        Scanner scanner = new Scanner(System.in);
        int test_case = scanner.nextInt();
            
            for(int z = 0; z < test_case; ++z)
            {
                int n = scanner.nextInt();
                int k = scanner.nextInt();
		int[] array = new int[n];
                

                for(int i = 0; i < n; ++i)
                    {
                        array[i] = scanner.nextInt();
                    }
                
                int[] parejas = new int[(2*k)+2];
                HashMap<Integer,Integer> hm = new HashMap<>();
                for(int i = 0; i < n/2; ++i)
                    { 
                        int a = array[i];
                        int b = array[n-i-1];
                        int min = Math.min(a, b);
                        int max = Math.max(a, b);
                        
                        int suma = a+b;
                        int add = 1;
                        if(hm.containsKey(suma))
                        {
                            add += hm.get(suma);
                            hm.remove(suma);
                        }
                        hm.put(suma, add);
                        parejas[min+1]++;
                        parejas[max+k+1]--;
                    }
                
                for(int i = 1; i < parejas.length; ++i) parejas[i] += parejas[i-1];
                
                int res = Integer.MAX_VALUE;
                int pairs = n/2;
                for(int i = 2; i <= 2*k; ++i)
                {
                    int uno = parejas[i];
                    int dos = 2*(pairs-uno);
                    int temp = dos + uno;
                    if(hm.containsKey(i)) temp -= hm.get(i);
                    res = Math.min(res, temp);
                }

                System.out.println(res);
                //String[] arr = {"a","b","c", "d","e", "f" , "g" , "h", "i" , "j" , "k" , "l", "m", "n", "o", "p", "q" , "r", "s", "t", "u" , "v", "w" ,"x", "y", "z"};
 
            }
                    
    }
}