#include <bits/stdc++.h>
//#include "partition.h"
#define int long long
using namespace std;
map<int,int> fr1;
map<int,int> fr2;
vector<int> v;
int cum[15],minim=10,tot,tot2,minisum=1e9;
vector<int> valori;
bool ok(int n)
{
    for(int i=2; i<=n; i++)
    {
        for(int j=1; j<i; j++)
            if(cum[i]==cum[j])
                return false;
    }
    return true;
}
void verif(int n)
{
    int sum=0,i=1;
    while(i<=n&&sum<tot)
    {
        sum+=valori[cum[i]];
        i++;
    }
    i--;
    int dif=abs((n-i)-i);
    if(dif<minim)
    {
        minim=dif;
        minisum=abs((tot2-sum)-sum);
        v.clear();
        for(i=1; i<=n; i++)
            v.push_back(cum[i]);
    }
    else if(dif==minim)
    {
        dif=abs((tot2-sum)-sum);
        if(dif<minisum)
        {
            minisum=dif;
            v.clear();
            for(i=1; i<=n; i++)
                v.push_back(cum[i]);
        }
    }
}
void bck(int poz, int n)
{
    for(int i=0; i<n; i++)
    {
        cum[poz]=i;
        if(poz==n)
        {
            if(ok(n))
                verif(n);
            else
                continue;
        }
        else
            bck(poz+1,n);
    }
}
std::vector<int> solve(std::vector<int> A)
{
    if(A.size()>7)
    {
        map<int,int> fr1;
        map<int,int> fr2;
        int n=A.size();
        for(int i=0; i<n; i++)
            fr1[A[i]]++;
        vector<int> sol,v1,v2;
        for(int i=0; i<n; i++)
        {
            if(fr2[A[i]]<fr1[A[i]]/2)
            {
                v1.push_back(i);
                fr2[A[i]]++;
            }
            else
                v2.push_back(i);
        }
        for(int i=0; i<v1.size(); i++)
            sol.push_back(v1[i]);
        for(int i=0; i<v2.size(); i++)
            sol.push_back(v2[i]);
        return sol;
    }
    for(int i=0; i<A.size(); i++)
        valori.push_back(A[i]);
    tot=0;
    minim=10;
    for(int i=0; i<A.size(); i++)
        tot+=A[i];
    tot2=tot;
    tot=(tot+1)/2;
    bck(1,A.size());
    return v;
}
int maint()
{
    int t,n,nr;
    cin>>t;
    while(t--)
    {
        cin>>n;
        vector<int> A;
        for(int i=0; i<n; i++)
        {
            int nr;
            cin>>nr;
            A.push_back(nr);
        }
        A=solve(A);
        //cout<<"!";
        //cout<<A.size()<<" ";
        for(int i=0; i<n; i++)
            cout<<A[i]<<" ";
        cout<<"\n";
    }
    return 0;
}
