func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long maxn = 400010;   const long long mod = 1000000007;   const long double eps = 1e-9;   const long long inf = ((1ll << 31ll) - 1ll);   const long long INF = 2000000000000000000ll;   const long double pi = acos(-1);   long long qpow(long long b, long long e) {     if (!e) return 1;     if (e & 1) return qpow(b, e - 1) * b % mod;     long long pwur = qpow(b, e >> 1);     return pwur * pwur % mod;   }   long long modinv(long long x) { return qpow(x, mod - 2); }   long long tc, n, a[maxn];   vector<long long> ans;   bool sorted() {     for (long long i = 1; i < n; i++)       if (a[i] > a[i + 1]) return 0;     return 1;   }   void shft(long long x) {     swap(a[x + 2], a[x + 1]);     swap(a[x + 1], a[x]);   }   void tryl() {     for (long long i = 1; i <= n - 2; i++) {       pair<long long, long long> mn = {mod, -1};       for (long long j = i; j <= n; j++) {         if (mn.first > a[j]) {           mn = {a[j], j};         }       }       while (mn.second != i) {         if (mn.second - 2 >= i) {           shft(mn.second - 2);           mn.second -= 2;           ans.push_back(mn.second);         } else {           shft(mn.second - 1);           shft(mn.second - 1);           mn.second -= 1;           ans.push_back(mn.second);           ans.push_back(mn.second);         }       }     }   }   void tryr() {     for (long long i = n; i >= 3; i--) {       pair<long long, long long> mx = {-1, -1};       for (long long j = 1; j <= i; j++) {         if (mx.first <= a[j]) {           mx = {a[j], j};         }       }       while (mx.second != i) {         if (mx.second + 2 <= i) {           shft(mx.second);           ans.push_back(mx.second);           mx.second += 2;         } else {           shft(mx.second - 1);           ans.push_back(mx.second - 1);           mx.second += 1;         }       }     }   }   int32_t main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.setf(ios::fixed);     cout.precision(0);     srand(time(NULL));     cin >> tc;     while (tc--) {       ans.clear();       cin >> n;       for (long long i = 1; i <= n; i++) cin >> a[i];       long long bu = 10;       while (bu--) {         tryl();         tryr();       }       for (long long i = 0; i <= 3; i++) {         if (i) shft(n - 2);         if (a[n - 2] <= a[n - 1] && a[n - 1] <= a[n]) {           for (long long j = 1; j <= i; j++) ans.push_back(n - 2);           break;         }       }       if (!sorted()) {         cout << -1 <<   n ;         continue;       }       cout << ans.size() <<   n ;       for (auto i : ans) cout << i <<    ;       cout <<   n ;     }     return 0;   }   