#include <bits/stdc++.h>
using namespace std;
vector <int> res,niz,m;
int N,k;
long long sum,s,t,rek,br,L,p;
bool uzet[50];
int maks,ind;

vector <int> solve(vector<int> A){
    N=A.size();
    rek=N;
    res.clear();
    sum=0;

    int m[N];
    for(int i=0;i<N;i++){
        m[i]=i;
        sum+=A[i];
        res.push_back(0);
    }
    if(N>10) return res;
    L=1;
    L=(1<<N);

    while(L--){
        s=0;maks=-1;br=0;
        p=1;
        for(int i=0;i<N;i++){
            if(p&L){
                br++;
                s+=A[N-i-1];
                if(maks<A[N-1-i]){
                    maks=A[N-i-1];
                    ind=N-i-1;
                }
            }
            p*=2;
        }
        if(s*2>=sum && (s-maks)*2<sum && abs(N-2*br)<rek){///da li je validno uzeti tih + da li je maksimum
            rek=abs(N-2*br);
             ///cout << s << " " << maks <<" " <<ind<< endl;
             p=1;
            for(int i=0;i<N;i++){
                if(p&L){
                    uzet[N-i-1]=true;
                }
                p*=2;
            }
            int l=0,r=N-1;
            for(int i=0;i<N;i++){
                if(uzet[i] && i!=ind){
                    res[l]=i;
                    l++;
                }
                else if(!uzet[i]){
                    res[r]=i;
                    r--;
                }
            }
            res[l]=ind;
            for(int i=0;i<N;i++){
                uzet[i]=0;
            }
        }
    }
    for(int i=0;i<N;i++){
        ///cout << res[i]<< " ";
    }
    ///cout << endl;

    return res;
}