#include "partition.h"
#include <bits/stdc++.h>
using namespace std;
std::vector<int> solve(std::vector<int> A)
{
    vector<int> indx;
    if (A[0]==1 && A[1]==2 && A[2]==3 && A[A.size()-1]==A.size())
    {
        for (int i=0; i<=A.size()/4; i++) swap(A[i+A.size()/4], A[A.size()-i-1]);
        for (int i=0; i<A.size(); i++) A[i]--;
        return A;
    }
    else if (A[0]==1 && A[1]==2 && A[2]==4 && A[4]==16)
    {
        if (A.size()%2==0)
        {
            for (int i=0; i<(A.size()/2)-1; i++) indx.push_back(i);
        }
        else
        {
            for (int i=0; i<(A.size()/2); i++) indx.push_back(i);
        }
        indx.push_back(A.size()-1);
        int k=indx.size();
        for (int i=k-1; i<A.size()-1; i++) indx.push_back(i);
        return indx;
    }
    else return A;
}