#include <bits/stdc++.h>
using namespace std;
int n;
int a[505];
int b[505];
int opt[250050];
int optnum;
void triple_swap(int k) {
  swap(a[k + 1], a[k + 2]);
  swap(a[k], a[k + 1]);
}
void print() {
  for (int i = 0; i < n; i++) {
    printf("%d ", a[i]);
  }
  printf("\n");
}
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    for (int i = 0; i < n; i++) {
      scanf("%d", a + i);
      b[i] = a[i];
    }
    sort(b, b + n);
    optnum = 0;
    for (int i = n; i >= 3; i--) {
      int maxIdx = 0;
      for (int j = 1; j < i; j++)
        if (a[j] >= a[maxIdx]) maxIdx = j;
      if (maxIdx == 0) {
        maxIdx = 1;
        opt[optnum++] = 0;
        triple_swap(0);
      }
      for (int j = maxIdx; j < i - 1; j++) {
        opt[optnum++] = j - 1;
        triple_swap(j - 1);
      }
    }
    bool flag = true;
    if (a[0] > a[1]) {
      flag = false;
      for (int i = 0; i < n - 2; i++) {
        opt[optnum++] = i;
        opt[optnum++] = i;
        triple_swap(i);
        triple_swap(i);
        if (a[i + 1] == a[i + 2]) break;
      }
      if (a[n - 2] <= a[n - 1]) flag = true;
    }
    if (!flag)
      printf("-1\n");
    else {
      printf("%d\n", optnum);
      for (int i = 0; i < optnum; i++) {
        printf("%d ", opt[i] + 1);
      }
      printf("\n");
    }
  }
}
