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

void recursion(int idx, int sum, vector<int>& A, vector<bool> used, int& target, int usedcnt) {
    int n=A.size();
    if (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);
        ans=v;
    }
    if (idx==n-1) return;
    recursion(idx+1,sum,A,used,target,usedcnt);
    used[idx+1]=true;
    recursion(idx+1,sum+A[idx+1],A,used,target,usedcnt+1);

}

vector<int> solve(vector<int> A) {
    vector<int> res;
    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);
    used[0]=true;
    recursion(0,A[0],A,used,t,1);
    res=ans;
    return res;
}