#include <bits/stdc++.h>
using namespace std;
bool comp(pair<int, int> a, pair<int, int> b) {
    return a.first>b.first;
}
vector<int> solve(vector<int> A) {
    map<int, int> mp;
    vector<int> a, b, ans;
    mp.clear();
    a.clear();
    b.clear();
    ans.clear();
    bool used[A.size()+2];
    for (int i=0;i<A.size();i++) used[i]=false;

    vector<pair<int, int>> vc;
    long long S=0;
    for (int i=0;i<A.size();i++) {
        S+=A[i];
        vc.push_back({A[i], i});
    }
    sort(vc.begin(), vc.end(), comp);
    long long s=0;

    for (int i=0;i<vc.size();i++) {
        if (2*(s+vc[i].first)>S) continue;
        used[vc[i].second]=true;
        a.push_back(vc[i].second);
        s+=vc[i].first;

    }
    for (int i=0;i<A.size();i++) {
        if (!used[i]) b.push_back(i);
    }
    for (int i=0;i<a.size();i++) ans.push_back(a[i]);
    for (int i=0;i<b.size();i++) ans.push_back(b[i]);
    return ans;
}