#include <bits/stdc++.h>
const double eps = 1e-9;
const long double pi = acos(-1.0);
using namespace std;
void solve() {
  int n;
  cin >> n;
  vector<int> a(n);
  vector<pair<int, int>> b(n);
  for (int i = 0; i < n; i++) {
    cin >> a[i];
    b[i] = {a[i], i};
  }
  sort(b.begin(), b.end());
  for (int i = 0; i < n; i++) {
    a[b[i].second] = i;
  }
  int kol = 0;
  for (int i = 0; i < n - 1; i++) {
    for (int j = i + 1; j < n; j++) {
      if (j > i && a[j] < a[i]) kol++;
    }
  }
  if (kol & 1) {
    for (int i = 0; i < n - 1; i++)
      if (b[i].first == b[i + 1].first) {
        swap(a[b[i].second], a[b[i + 1].second]);
        kol ^= 1;
        break;
      }
  }
  if (kol & 1) {
    cout << -1 << endl;
    return;
  }
  vector<int> ans;
  for (int i = 0; i < n - 3; i++) {
    int mn = n + 1;
    int ind = -1;
    for (int j = i; j < n; j++)
      if (a[j] < mn) mn = a[j], ind = j;
    while (1) {
      if (ind - 2 >= i) {
        int tmp = a[ind];
        a[ind] = a[ind - 1];
        a[ind - 1] = a[ind - 2];
        a[ind - 2] = tmp;
        ind -= 2;
        ans.push_back(ind + 1);
      } else
        break;
    }
    if (ind != i) {
      ans.push_back(i + 1);
      ans.push_back(i + 1);
      int tmp = a[i];
      a[i] = a[i + 1];
      a[i + 1] = a[i + 2];
      a[i + 2] = tmp;
    }
  }
  if (a[n - 2] > a[n - 1] && a[n - 2] > a[n - 3] && a[n - 3] > a[n - 1]) {
    ans.push_back(n - 3 + 1);
  } else if (a[n - 3] > a[n - 2] && a[n - 3] > a[n - 1] &&
             a[n - 1] > a[n - 2]) {
    ans.push_back(n - 3 + 1);
    ans.push_back(n - 3 + 1);
  }
  cout << ans.size() << endl;
  for (int x : ans) cout << x << " ";
  cout << endl;
}
int main() {
  ios::sync_with_stdio(NULL), cin.tie(0), cout.tie(0);
  cout.setf(ios::fixed), cout.precision(10);
  int step;
  step = 1;
  cin >> step;
  for (int i = 1; i <= step; i++) {
    solve();
  }
}
