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 
//package com.example.programming;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.sql.Time;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Queue;
import java.util.Scanner;
import java.util.Set;
import java.util.Stack;
import java.util.Timer;
import java.util.TreeSet;
import java.util.Vector;


public class CodeforcesProblems {

    static String[] sTakeInputs;
    static int sInputPos = 0;
    static BufferedReader sBufferedReader;
    static StringBuilder sOutputBuilder;

    static int[] scanIntArray() throws Exception{
        String[] inputs = sBufferedReader.readLine().trim().split(" ");
        int[] arr = new int[inputs.length];
        for(int i = 0; i<inputs.length; i++) arr[i] = Integer.parseInt(inputs[i]);
        return arr;
    }

    static long[] scanLongArray() throws Exception{
        String[] inputs = sBufferedReader.readLine().trim().split(" ");
        long[] arr = new long[inputs.length];
        for(int i = 0; i<inputs.length; i++) arr[i] = Long.parseLong(inputs[i]);
        return arr;
    }

    static int scanInt() throws Exception{
        return Integer.parseInt(sBufferedReader.readLine().trim());
    }

    static long scanLong() throws Exception{
        return Long.parseLong(sBufferedReader.readLine().trim());
    }

    static int nextInt() throws Exception {
        if(sInputPos == 0) sTakeInputs = sBufferedReader.readLine().trim().split(" ");
        if(sTakeInputs.length <= sInputPos) {
            sTakeInputs = sBufferedReader.readLine().trim().split(" ");
            sInputPos = 0;
        }
        return Integer.parseInt(sTakeInputs[sInputPos++]);
    }

    static long nextLong() throws Exception {
        if(sInputPos == 0) sTakeInputs = sBufferedReader.readLine().trim().split(" ");
        if(sTakeInputs.length <= sInputPos) {
            sTakeInputs = sBufferedReader.readLine().trim().split(" ");
            sInputPos = 0;
        }
        return Long.parseLong(sTakeInputs[sInputPos++]);
    }

    static String nextString() throws Exception {
        if(sInputPos == 0) sTakeInputs = sBufferedReader.readLine().trim().split(" ");
        if(sTakeInputs.length <= sInputPos) {
            sTakeInputs = sBufferedReader.readLine().trim().split(" ");
            sInputPos = 0;
        }
        return sTakeInputs[sInputPos++];
    }

    static void print(int val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }

    static void print(long val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }

    static void print(float val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }

    static void print(double val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }

    static void print(String val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }
    static void print(StringBuilder val, char ch) {
        sOutputBuilder.append(val).append(ch);
    }

    static void print(int x) {
        sOutputBuilder.append(x);
    }

    static void print(char ch) {
        sOutputBuilder.append(ch);
    }

    static void printf() {
        System.out.print(sOutputBuilder);
        sOutputBuilder = new StringBuilder();
    }


    public static int[] radixSort(int[] f){ return radixSort(f, f.length); }
    public static int[] radixSort(int[] f, int n)
    {
        int[] to = new int[n];
        {
            int[] b = new int[65537];
            for(int i = 0;i < n;i++)b[1+(f[i]&0xffff)]++;
            for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
            for(int i = 0;i < n;i++)to[b[f[i]&0xffff]++] = f[i];
            int[] d = f; f = to;to = d;
        }
        {
            int[] b = new int[65537];
            for(int i = 0;i < n;i++)b[1+(f[i]>>>16)]++;
            for(int i = 1;i <= 65536;i++)b[i]+=b[i-1];
            for(int i = 0;i < n;i++)to[b[f[i]>>>16]++] = f[i];
            int[] d = f; f = to;to = d;
        }
        return f;
    }

    static void solve() throws Exception{
        int n = nextInt();
        if(n<4) {
            print(-1,'\n'); return;
        }
        int x = n;
        if(x%2 == 1) {
            x--;
        }
        for(int i = x; i>4; i-=2) print(i,' ');
        print(2,' '); print(4,' ');
        for(int i = 1; i<=n; i+=2) print(i,' ');
        print('\n');
    }


    public static void main (String[] args) throws Exception {
        sBufferedReader = new BufferedReader(new InputStreamReader(System.in));
        sOutputBuilder = new StringBuilder();
        int t = nextInt();
        while(t>0) {solve(); t--;}
        printf();
    }

}
