#include using namespace std; typedef signed long long ll; #define _P(...) (void)printf(__VA_ARGS__) #define FOR(x,to) for(x=0;x<(to);x++) #define FORR(x,arr) for(auto& x:arr) #define FORR2(x,y,arr) for(auto& [x,y]:arr) #define ALL(a) (a.begin()),(a.end()) #define ZERO(a) memset(a,0,sizeof(a)) #define MINUS(a) memset(a,0xff,sizeof(a)) template bool chmax(T &a, const T &b) { if(a bool chmin(T &a, const T &b) { if(a>b){a=b;return 1;}return 0;} //------------------------------------------------------- int T,N,P[505]; vector ret; void go(int x) { assert(P[x]!=x&&P[x+1]!=x+1); swap(P[x],P[x+1]); ret.push_back(x); } void hoge(int L,int R) { if(RR) { ret.push_back(-1); return; } if(P[i]==R) cur=i; } if(L+1==R) { go(L); return; } for(i=cur+1;i<=R;i++) { if(P[i]!=i-1) { for(j=i-1;j>cur;j--) go(j); go(cur); for(j=cur+1;j>T; while(T--) { cin>>N; FOR(i,N) cin>>P[i+1]; ret.clear(); hoge(1,N); if(count(ALL(ret),-1)) { cout<<-1<