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

vector<int> solve(vector<int> v)
{
    vector<vector<int>> cnt(26);
    for (int i = 0; i < v.size(); i++) cnt[__builtin_ctz(v[i])].push_back(i);

    vector<int> v1, v2, v3;

    for (int i = 0; i < 26; i++)
    {
        while (cnt[i].size() > 1)
        {
            v1.push_back(cnt[i].back());
            cnt[i].pop_back();
            v2.push_back(cnt[i].back());
            cnt[i].pop_back();
        }
        if (!cnt[i].empty()) v3.push_back(i);
    }
    int n = v3.size();
    if (n > 1) swap(v3.back(), v3[n/2]);

    v.clear();
    for (int x : v1) v.push_back(x);
    for (int x : v3) v.push_back(x);
    for (int x : v2) v.push_back(x);

    return v;
} 


// int main () {
//     ios_base::sync_with_stdio(false);
//     cin.tie(NULL);
//     int t;
//     cin >> t ;
//     for (int test=1; test<=t; test++) {
//         int n;
//         cin >> n ;
//         vector <int> a(n);
//         for (int i=0; i<n; i++) {
//             cin >> a[i] ;
//         }

//         for (auto ind : solve(a)) {
//             cout << ind << " ";
//         }
//         cout << endl ;
//     }
//     cout << endl ;
//     return 0;
// }
