#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int ll
typedef pair<int, int> P;
ll gcd(ll a, ll b){return b? gcd(b, a % b): a;}
ll quickpow(ll a, ll b){ll res = 1; while(b){if (b & 1) res = res * a; a = a * a; b >>= 1;} return res;}
// head

const int N = 2e5 + 5;

namespace inversion {
	int cal(vector<int>& x, vector<int>& y) {
		int n = x.size(), m = y.size(), i = 0, j = 0, ans = 0;
		while (i < n && j < m) {
			if (x[i] < y[j]) i++;
			else {
				ans += n - i;
				j++;
			}
		}
		return ans;
	}
}

vector<int> pos[4];
int t, inv[4][4], cnt[4];
char x[] = {'A', 'T', 'O', 'N'};
string s;

signed main(void){
	ios::sync_with_stdio(false);
	cin.tie(0);
	cin >> t;
	while (t--) {
		cin >> s;
		for (int i = 0; i < 4; i++) {
			pos[i].clear();
			cnt[i] = 0;
		}
		memset(inv, 0, sizeof(inv));
		for (int i = 0; i < (int) s.size(); i++) {
			if (s[i] == 'A') pos[0].push_back(i + 1), cnt[0]++;
			else if (s[i] == 'T') pos[1].push_back(i + 1), cnt[1]++;
			else if (s[i] == 'O') pos[2].push_back(i + 1), cnt[2]++;
			else pos[3].push_back(i + 1), cnt[3]++;
		}
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < 4; j++) {
				if (i == j) continue;
				inv[i][j] = inversion::cal(pos[i], pos[j]);
			}
		}
		vector<int> per = {0, 1, 2, 3};
		int val = -1;
		vector<int> ans;
		do {
			int now = 0;
			for (int i = 0; i < 4; i++) {
				for (int j = i + 1; j < 4; j++) {
					now += inv[per[i]][per[j]];
				}
			}
			if (now > val) {
				val = now;
				ans = per;
			}
		} while (next_permutation(per.begin(), per.end()));
		for (int i = 0; i < 4; i++) {
			for (int j = 0; j < cnt[ans[i]]; j++) {
				cout << x[ans[i]];
			}
		}
		cout << endl;
	}
	return 0;
}
