#include "partition.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;

const int MN = 1e5 + 5;

int a[MN];

struct str{

    int t,pos;

};
str m[MN];

bool fff(str x, str y){

    return x.t<y.t;

}

vector<int> solve(vector<int> A) {

    int n=A.size();
    long long s=0;

    vector<int> v;
    v.clear();
    
    if(n==1) return {0};
    if(n==2) return {1,0};
    if(n==3) return {2,0,1};

    for(int i=3;i<n-(n%4);i+=4){
        v.pb(i-3);
        v.pb(i);
    }
    
    if(n%4==1){
        v.pb(n-1);
    }
    if(n%4==2){
        v.pb(n-1);
    }
    if(n%4==3){
        v.pb(n-2);
        v.pb(n-1);
    }
    
    for(int i=3;i<n-(n%4);i+=4){
        v.pb(i-2);
        v.pb(i-1);
    }
    
    if(n%4==2){
        v.pb(n-2);
    }
    if(n%4==3){
        v.pb(n-3);
    }
    
    return v;

}
