#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ull unsigned long long
#define ld long double
#define pb push_back
#define PB pop_back
#define mp make_pair
#define ii pair<int,int>
#define vii vector<ii>
#define vi vector<int>
#define F first
#define S second
#define max3(a,b,c) max(a,max(b,c))
#define min3(a,b,c) min(a,min(b,c))
#define fastio ios_base::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL);
void pe(){cout<<endl;}
template<class T1> void pe(T1 e){cout<<e<<endl;}
template<class T1,class T2> void pe(T1 e1,T2 e2){cout<<e1<<" "<<e2<<endl;}
template<class T1,class T2,class T3> void pe(T1 e1,T2 e2,T3 e3){cout<<e1<<" "<<e2<<" "<<e3<<endl;}
template<class T1,class T2,class T3,class T4> void pe(T1 e1,T2 e2,T3 e3,T4 e4){cout<<e1<<" "<<e2<<" "<<e3<<" "<<e4<<endl;}
template<class T1,class T2,class T3,class T4,class T5> void pe(T1 e1,T2 e2,T3 e3,T4 e4,T5 e5){cout<<e1<<" "<<e2<<" "<<e3<<" "<<e4<<" "<<e5<<endl;}
template<class T1> void ps(T1 e){cout<<e<<" ";}
template<class T1,class T2> void ps(T1 e1,T2 e2){cout<<e1<<" "<<e2<<" ";}
template<class T1,class T2,class T3> void ps(T1 e1,T2 e2,T3 e3){cout<<e1<<" "<<e2<<" "<<e3<<" ";}
template<class T1,class T2,class T3,class T4> void ps(T1 e1,T2 e2,T3 e3,T4 e4){cout<<e1<<" "<<e2<<" "<<e3<<" "<<e4<<" ";}
template<class T1,class T2,class T3,class T4,class T5> void ps(T1 e1,T2 e2,T3 e3,T4 e4,T5 e5){cout<<e1<<" "<<e2<<" "<<e3<<" "<<e4<<" "<<e5<<" ";}
const ll N=1e6 + 1;
//const long double ep = 1e-6;
const ll mod = 1e9 + 7;
ll modular(ll x) { return ((x % mod) + mod) % mod; }
ll add(ll a, ll b) { return (modular(a) + modular(b)) % mod; }
ll mul(ll a, ll b) { return (modular(a) * modular(b)) % mod; }
/*int dx[] = {-1, 0, 1, -1, 1, -1, 0, 1};
int dy[] = {1, 1, 1, 0, 0, -1, -1, -1}; */
//	for (int i = 0; i < n; i++)

string it = "ANTO";
unordered_map <char, int> id = { {'A', 0}, {'N', 1}, {'T', 2}, {'O', 3} };
void solve() {
    string s; cin >> s;
    ll origin[4][4] = {0};
    int counts[4] = {0};
    for (char &c1 : it) {
        int x = id[c1];
        for (char &c2 : s) {
            int y = id[c2];
            if (x == y) counts[x]++;
            else origin[x][y] += counts[x]; 
        }
    }
    vi ar = {0, 1, 2, 3};
    ll mx_inv = -1;
    vi ans;
    do {
        ll inv = 0;
        for (int i = 0; i < 4; i++) {
            for (int j = i + 1; j < 4; j++) {
                int x = ar[i], y = ar[j];
                inv += origin[y][x];
            }
        }
        if (inv > mx_inv) {
            mx_inv = inv;
            ans = ar;
        }
    } while (next_permutation(ar.begin(), ar.end()));
    string res = "";
    for (int &x : ans) {
        for (int i = 0; i < counts[x]; i++) {
            res += it[x];
        }
    }
    pe(res);
}

int main() {
	fastio
	int tests = 1; 
	cin >> tests;
	while (tests--) 
	solve();
}