#include <bits/stdc++.h>
using namespace std;
int mn=1e9;

void recursion(int idx, int sum, vector<int>& A, vector<bool> used, int& target, int usedcnt, vector<int>& res) {
    int n=A.size();
    if (idx==n-1 && sum>=target && abs(usedcnt-(n-usedcnt))<mn) {
        mn=abs(usedcnt-(n-usedcnt));
        vector<int> v;
        for (int i=0; i<n; i++) if (used[i]) v.push_back(i);
        for (int i=0; i<n; i++) if (!used[i]) v.push_back(i);
        res=v;
        return;
    }
    recursion(idx+1,sum,A,used,target,usedcnt,res);
    used[idx+1]=true;
    recursion(idx+1,sum+A[idx+1],A,used,target,usedcnt+1,res);
}

vector<int> solve(vector<int> A) {
    vector<int> res;
    mn=1e9;
    int sum=0,n=A.size();
    for (int i=0; i<n; i++) sum+=A[i];
    int t=sum/2+sum%2;
    vector<bool> used(n,false);
    recursion(0,0,A,used,t,0,res);
    used[0]=true;
    recursion(0,A[0],A,used,t,1,res);
    return res;
}