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

Solution:
from collections import defaultdict
def solve(n,arr,k):
    mp = defaultdict(int)
    size,ans = n//2,float('inf')
    prefix = [0]*(2*k+10)       # 2k is necessary +10 is for safety
    
    # Zero change
    for i in range(size):
        ai,pai = arr[i],arr[n-i-1]                       # ai, pai - pair of ai from back 
        x = ai+pai
        mp[x]+=1

    # One change
    for i in range(size):
        ai,pai = arr[i],arr[n-i-1]
        left  = min(ai,pai)+1             # left range will be  L+1     where L is min 
        right = max(ai,pai)+k             # right range will be R+k     where R is max
                                          # Eg (4,6) = pair k=7  L = 4+1=5  R =6+7=13
                                          # i.e [L,R]=[5,13]    i.e with this pair all sum from 5 to 13 is possible

        prefix[left]+=1
        prefix[right+1]-=1

    # Computing prefix sums
    start,end=2,2*k
    for i in range(start,end+1):
        prefix[i] = prefix[i]+prefix[i-1]
        
    # Now computing ans
    for x in range(start,end+1):
        zero_chng,one_chng = mp[x],prefix[x]
        two_chng = size - prefix[x]
        
        # Zero*0 (because we don't incur any replacement if it can be made directly with ai and pai)
        # (One-Z) -Z because that many pairs can make x without any replacement but these same pairs
        #           were counted in one_chng also . Hence we remove all such pairs
        # Two*2    becuse we will incur cost of 2 here for chnaging both ai and pai
        
        # Notice Here that prefix[i] gives the value of replacement for both case i.e 0 or 1 case 
        pos_ans = zero_chng*0+(one_chng-zero_chng)*1+two_chng*2     # pos_ans -- possible answer
        ans = min(ans,pos_ans)

    return ans        



t = int(input())
for _ in range(t):
    n,k = map(int,input().split())
    arr = list(map(int,input().split()))
    #print(arr)
    print(solve(n,arr,k))