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

vector<int> solve(vector<int>A)
{
    sort(A.begin(), A.end());
    float s=0;
    int packs=A.size();
    for(int i=0; i<packs; i++) s+=A[i];

    int sum1=0, sum2=0;
    int diff=0, prevDiff=0;
    vector<int>a2=A;
    vector<int>indexes(packs);



    do //sekoja permutacija ja proveruvam
    {
        prevDiff=diff;
        int currentSum=0;//resetiranje za nova permutacija
        for(int i=0; i<packs; i++)//sekoj element vo edna permutacija
        {
            currentSum+=A[i];
            sum1++;//kolku pakuvanja dobiva prvata?
            if(currentSum>=(s/2.0)) break;
        }
        sum2=s-sum1;//kolku pakuvanja dobila vtorata?
        diff=abs(sum1-sum2);
        if(diff<=prevDiff)
        {
            a2=A;
        }

    } while(next_permutation(A.begin(), A.end()));

    return a2;
}