#include <bits/stdc++.h>
using namespace std;
//#define int long long

std::vector<int> solve(std::vector<int> A){
    int n;
    n=A.size();
    vector<int>ANS;
    int s=0;
    vector<pair<int,int>>l;
    for(int i=0;i<n;i++){
        l.push_back({A[i],i});
    }
    sort(l.begin(),l.end());
    int m=(n+1)/2;
    int cnt=0;
    for(int i=0;i<m;i++){
        cnt+=l[i].first;
    }
    int k=0;
    while(2*cnt<s){
        cnt-=l[m-1-k].first;
        cnt+=l[n-1-k].first;
        k++;
    }
    /*pair<int,int>sp;
    if(k==0){
        sp=l[m-1];
    }else{
        sp=l[n-k];
    }*/
    vector<pair<int,int>>pr;
    vector<pair<int,int>>sf;
    for (int i=0;i<m-k;i++){
        if(k==0&&i==m-1)continue;
        pr.push_back(l[i]);
    }
    for(int i=n-k-1;i<n;i++){
        pr.push_back(l[i]);
    }
    for(int i=m-k;i<n-k;i++){
        sf.push_back(l[i]);
    }

    for(auto x:pr){
        ANS.push_back(x.second);
    }
    //ANS.push_back(sp.second);
    for(auto x:sf){
        ANS.push_back(x.second);
    }
    return ANS;
    /*vector<int>ANS;
    int n=A.size();
    set<int>cnt1;
    int cnt=0;
    map<int,int> cnt2;
    vector<vector<int>> l(n);
    for(int i=0;i<n;i++){
        if(cnt1.count(A[i])==0){
            cnt1.insert(A[i]);
            cnt2[A[i]]=cnt;
            cnt++;
        }
    }
    for(int i=0;i<n;i++){
        l[cnt2[A[i]]].push_back(i);
    }
    for(int i=0;i<n;i++){
        if(l[i].size()){
            for(int j=0;i<l[i].size()/2;j++){
                ANS.push_back(l[i][j]);
            }
        }
    }
    for(int i=0;i<n;i++){
        if(l[i].size()){
            for(int j=l[i].size()/2;i<l[i].size();j++){
                ANS.push_back(l[i][j]);
            }
        }
    }



    return ANS;*/
}
