A permutation of length n is an array p=[p_1,p_2,...,p_n], which contains every integer from 1 to n (inclusive) and, moreover, each number appears exactly once. For example, p=[3,1,4,2,5] is a permutation of length 5.

For a given number n (n ≥ 2), find a permutation p in which absolute difference (that is, the absolute value of difference) of any two neighboring (adjacent) elements is between 2 and 4, inclusive. Formally, find such permutation p that 2 ≤ |p_i - p_{i+1}| ≤ 4 for each i (1 ≤ i < n).

Print any such permutation for the given integer n or determine that it does not exist.

Input

The first line contains an integer t (1 ≤ t ≤ 100) — the number of test cases in the input. Then t test cases follow.

Each test case is described by a single line containing an integer n (2 ≤ n ≤ 1000).

Output

Print t lines. Print a permutation that meets the given requirements. If there are several such permutations, then print any of them. If no such permutation exists, print -1.

Example

Input


6
10
2
4
6
7
13


Output


9 6 10 8 4 7 3 1 5 2 
-1
3 1 4 2 
5 3 6 2 4 1 
5 1 3 6 2 4 7 
13 9 7 11 8 4 1 3 5 2 6 10 12 
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;
public class cdf640g
{
	static void merge(int arr[], int l, int m, int r) 
    { 
        int n1 = m - l + 1; 
        int n2 = r - m; 
        int L[] = new int [n1]; 
        int R[] = new int [n2]; 
        for (int i=0; i<n1; ++i) 
            L[i] = arr[l + i]; 
        for (int j=0; j<n2; ++j) 
            R[j] = arr[m + 1+ j]; 
        int i = 0, j = 0; 
        int k = l; 
        while (i < n1 && j < n2) 
        { 
            if (L[i] <= R[j]) 
            { 
                arr[k] = L[i]; 
                i++; 
            } 
            else
            { 
                arr[k] = R[j]; 
                j++; 
            } 
            k++; 
        } 
        while (i < n1) 
        { 
            arr[k] = L[i]; 
            i++; 
            k++; 
        } 
        while (j < n2) 
        { 
            arr[k] = R[j]; 
            j++; 
            k++; 
        } 
    } 
    static void sort(int arr[], int l, int r) 
    { 
        if (l < r) 
        { 
            int m = (l+r)/2; 
            sort(arr, l, m); 
            sort(arr , m+1, r); 
            merge(arr, l, m, r); 
        } 
    } 
    public static int lowerBound(int[] array, int length, int value) 
	{
        int low = 0;
        int high = length;
        while (low < high) 
        {
            final int mid = (low + high) / 2;
            //checks if the value is less than middle element of the array
            if (value <= array[mid]) 
            {
                high = mid;
            } 
            else 
            {
                low = mid + 1;
            }
        }
        return low;
    }
	public static int upperBound(int[] array, int length, int value) 
	{
        int low = 0;
        int high = length;
        while (low < high) {
            final int mid = (low + high) / 2;
            if (value >= array[mid]) {
                low = mid + 1;
            } else {
                high = mid;
            }
        }
        return low;
    }
    static int gcd(int a, int b) 
    { 
      if (b == 0) 
        return a; 
      return gcd(b, a % b);  
    } 
    static long power(long n,long m)
    {
    	if(m==0)
    		return 1;
    	long ans=1;
    	while(m>0)
    	{
    		ans=ans*n;
    		m--;
    	}
    	return ans;
    }
    static int BinarySearch(int arr[], int x) 
    { 
        int l = 0, r = arr.length - 1; 
        while (l <= r) { 
            int m = l + (r - l) / 2; 
            if (arr[m] == x) 
                return m; 
            if (arr[m] < x) 
                l = m + 1; 
            else
                r = m - 1; 
        } 
        return -1; 
    }
    static void prin1(int n)
    {
    	System.out.print((n+2)+" "+(n+4)+" "+(n+6)+" "+(n+3)+" "+(n+5)+" ");
    }
    static void prin(int n)
    {
    	System.out.print((n+2)+" "+(n+4)+" "+(n+1)+" "+(n+3)+" "+(n+5)+" ");
    }
	public static void main(String args[])throws Exception
	{
		BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
		int t=Integer.parseInt(br.readLine());
	    for(int i=1;i<=t;i++)
	    {
	    	int n=Integer.parseInt(br.readLine());
	    	if(n<4)
	    	{
	    		System.out.println("-1");
	    		continue;
	    	}
	    	if(n%5==0)
	    	{
	    		System.out.print("1 3 5 2 4 ");
	    		int prev=4;
	    		int temp=n/5;
	    		temp--;
	    		for(int j=0;j<temp;j++)
	    		{
	    			prin1(prev);
	    			prev+=5;
	    		}
	    	}
	    	else if(n%5==4)
	    	{
	    		System.out.print("2 4 1 3 ");
	    		int prev=3;
	    		int temp=(n-4)/5;
	    		for(int j=0;j<temp;j++)
	    		{
	    			prin1(prev);
	    			prev+=5;
	    		}
	    	}
	    	if(n%5==3)
	    	{
	    		System.out.print("1 3 6 2 4 8 5 7 ");
	    		int prev=7;
	    		int temp=n/5;
	    		temp--;
	    		for(int j=0;j<temp;j++)
	    		{
	    			prin1(prev);
	    			prev+=5;
	    		}
	    	}
	    	if(n%5==2)
	    	{
	    		System.out.print("1 3 5 2 6 4 7 ");
	    		int prev=7;
	    		int temp=n/5;
	    		temp--;
	    		for(int j=0;j<temp;j++)
	    		{
	    			prin(prev);
	    			prev+=5;
	    		}
	    	}
	    	if(n%5==1)
	    	{
	    		System.out.print("1 3 5 2 4 6 ");
	    		int prev=6;
	    		int temp=n/5;
	    		temp--;
	    		for(int j=0;j<temp;j++)
	    		{
	    			prin(prev);
	    			prev+=5;
	    		}
	    	}
	    	System.out.println();
	    }
	}
}
