#include #include #include #include using namespace std; using i64 = long long; #define rep(i,n) for(int i=0; i<(int)(n); i++) pair> solve(vector P){ int n = P.size(); for(int p : P) if(p < 0) return { false, {} }; for(int p : P) if(p >= n) return { false, {} }; vector res; auto op = [&](int q) -> void { assert(P[q] != q); assert(P[q+1] != q+1); swap(P[q],P[q+1]); res.push_back(q); }; for(int q=0; q=nx; i--) op(i); p = nx; } } //for(auto a : P) cout << a << " "; //cout << endl; return make_pair( true, move(res) ); } void testcase(){ int N; cin >> N; vector P(N); rep(i,N){ int p; cin >> p; p--; P[i] = p; } vector coins; coins.push_back(-1); rep(i,N) if(P[i] == i) coins.push_back(i); coins.push_back(N); vector ans; rep(i,coins.size()-1){ int l = coins[i]+1, r = coins[i+1]; vector tmp; for(int j=l; j> T; while(T--) testcase(); return 0; } struct ios_do_not_sync{ ios_do_not_sync(){ std::ios::sync_with_stdio(false); std::cin.tie(nullptr); } } ios_do_not_sync_instance;