description: You have a permutation: an array a = [a_1, a_2, …, a_n] of distinct integers from 1 to n. The length of the permutation n is odd.
  
  You need to sort the permutation in increasing order.
  
  In one step, you can choose any prefix of the permutation with an odd length and reverse it. Formally, if a = [a_1, a_2, …, a_n], you can choose any odd integer p between 1 and n, inclusive, and set a to [a_p, a_{p-1}, …, a_1, a_{p+1}, a_{p+2}, …, a_n].
  
  Find a way to sort a using no more than 5n/2 reversals of the above kind, or determine that such a way doesn't exist. The number of reversals doesn't have to be minimized.
  
  Input
  
  Each test contains multiple test cases. The first line contains the number of test cases t (1 ≤ t ≤ 100). Description of the test cases follows.
  
  The first line of each test case contains a single integer n (3 ≤ n ≤ 2021; n is odd) — the length of the permutation.
  
  The second line contains n distinct integers a_1, a_2, …, a_n (1 ≤ a_i ≤ n) — the permutation itself. 
  
  It is guaranteed that the sum of n over all test cases does not exceed 2021.
  
  Output
  
  For each test case, if it's impossible to sort the given permutation in at most 5n/2 reversals, print a single integer -1.
  
  Otherwise, print an integer m (0 ≤ m ≤ 5n/2), denoting the number of reversals in your sequence of steps, followed by m integers p_i (1 ≤ p_i ≤ n; p_i is odd), denoting the lengths of the prefixes of a to be reversed, in chronological order.
  
  Note that m doesn't have to be minimized. If there are multiple answers, print any.
  
  Example
  
  Input
  
  
  3
  3
  1 2 3
  5
  3 4 5 2 1
  3
  2 1 3
  
  
  Output
  
  
  4
  3 3 3 3
  2
  3 5
  -1
  
  Note
  
  In the first test case, the permutation is already sorted. Any even number of reversals of the length 3 prefix doesn't change that fact.
  
  In the second test case, after reversing the prefix of length 3 the permutation will change to [5, 4, 3, 2, 1], and then after reversing the prefix of length 5 the permutation will change to [1, 2, 3, 4, 5].
  
  In the third test case, it's impossible to sort the permutation.
solution: import java.io.*;
  import java.util.*;
  public class Main {
      public static void main(String args[])
      {
          FastReader input=new FastReader();
          PrintWriter out=new PrintWriter(System.out);
          int T=input.nextInt();
          while(T-->0)
          {
              int n=input.nextInt();
              int a[]=new int[n];
              int flag=0;
              for(int i=0;i<n;i++)
              {
                  a[i]=input.nextInt();
                  int p=(i+1);
                  if(p%2!=a[i]%2)
                  {
                      flag=1;
                  }
              }
              if(flag==1)
              {
                  out.println(-1);
              }
              else
              {
                  ArrayList<Integer> list=new ArrayList<>();
                  for(int i=n;i>1;i-=2)
                  {
                      int in1=0,in2=0;
                      for(int j=0;j<n;j++)
                      {
                          if(a[j]==i) in1=j;
                          else if(a[j]==i-1) in2=j;
                      }
                      reverse(a,in1);
                      if(in1>in2)
                      {
                          in2=in1-in2;
                      }
                      reverse(a,in2-1);
                      reverse(a,in2+1);
                      reverse(a,2);
                      reverse(a,i-1);
                      list.add(in1+1);list.add(in2);list.add(in2+2);list.add(3);list.add(i);
                  }
                  out.println(list.size());
                  for(int i=0;i<list.size();i++)
                  {
                      out.print(list.get(i)+" ");
                  }
                  out.println();
              }
          }
          out.close();
      }
      public static void reverse(int a[],int r)
      {
          for(int i=0;i<=r/2;i++)
          {
              int l=i,h=r-i;
              int t=a[l];
              a[l]=a[h];
              a[h]=t;
          }
      }
      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;
          }
      }
  }