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

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

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