#include<unordered_map>
#include<unordered_set>
#include<functional>
#include<algorithm>
#include<iostream>
#include<hash_map>
#include<iterator>
#include<iomanip>
#include<numeric>
#include<cstring>
#include<vector>
#include<bitset>
#include<string>
#include<deque>
#include<stack>
#include<queue>
#include<array>
#include<cmath>
#include<list>
#include<map>
#include<set>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace __gnu_pbds;
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef double db;
typedef long double ldb;
#define ordered_set tree<ll, null_type,less_equal<ll>, \
rb_tree_tag,tree_order_statistics_node_update>
#define pii pair<int,int>
#define pll pair<ll,ll>
#define inf INT32_MAX
#define linf INT64_MAX
#define pf push_front
#define pb push_back
#define ppb pop_back
#define ppf pop_front
#define ff first
#define ss second
ll fastPow(ll n, ll k/*,ll k*/) {
if (k == 0)return 1;
ll res = fastPow(n, k / 2/*,k*/)/*%k*/;
res = (res * res)/*%k*/;
if (k & 1)res = (res * n)/*%k*/;
return res/*%k*/;
}
ll fastPow(ll n, ll k, ll m) {
if (k == 0)return 1;
ll res = fastPow(n, k / 2, m) % m;
res = (res * res) % m;
if (k & 1)res = (res * n) % m;
return res % m;
}
ll calcMod(ll a, ll m) {
return (a % m + m) % m;
}
ll calcMod(ll a, ll b, ll m) {
return ((a % m) * fastPow(b, m - 2, m)) % m;
}
ll Ceil(ll n, ll m) {
return (n + m - 1) / m;
}
const ll mod = 998244353, N = 300000 + 5, M = 4 + 5;
/* Go little rockstar */
bool ok(string s1){
for(int i = 1; i < s1.size(); ++i){
if(abs(s1[i] - s1[i - 1]) == 1)return 0;
}
return 1;
}
void print(string s1, const vector<int> &fa){
for(const auto&i : s1){
cout << string(fa[i - 'a'], i);
}
cout << "\n";
}
bool solve() {
string s;
cin >> s;
vector<int> fa(26);
vector<char> c;
for(int i = 0; i < s.size(); ++i){
fa[s[i] - 'a']++;
if(find(c.begin(), c.end(), s[i]) == c.end())c.pb(s[i]);
}
sort(c.begin(), c.end());
string s1 = {c[c.size() / 2]};
int l = c.size() / 2 - 2, r = c.size() / 2 + 2;
while(l >= 0 || r < c.size()){
s1.pb(c[l--]);
if(r < c.size())s1.pb(c[r++]);
}
if(c.size() / 2 - 1 >= 0)s1.pb(c[c.size() / 2 - 1]);
if(c.size() / 2 + 1 < c.size())s1.pb(c[c.size() / 2 + 1]);
if(ok(s1)){
print(s1, fa);
}
else {
swap(s1[s1.size() - 1], s1[s1.size() - 2]);
if(ok(s1)){
print(s1, fa);
}
else cout << "No answer\n";
}
return 1;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int t = 1;
cin >> t;
while (t--) {
solve();
}
return 0;
}
I2luY2x1ZGU8dW5vcmRlcmVkX21hcD4KI2luY2x1ZGU8dW5vcmRlcmVkX3NldD4KI2luY2x1ZGU8ZnVuY3Rpb25hbD4KI2luY2x1ZGU8YWxnb3JpdGhtPgojaW5jbHVkZTxpb3N0cmVhbT4KI2luY2x1ZGU8aGFzaF9tYXA+CiNpbmNsdWRlPGl0ZXJhdG9yPgojaW5jbHVkZTxpb21hbmlwPgojaW5jbHVkZTxudW1lcmljPgojaW5jbHVkZTxjc3RyaW5nPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPGJpdHNldD4KI2luY2x1ZGU8c3RyaW5nPgojaW5jbHVkZTxkZXF1ZT4KI2luY2x1ZGU8c3RhY2s+CiNpbmNsdWRlPHF1ZXVlPgojaW5jbHVkZTxhcnJheT4KI2luY2x1ZGU8Y21hdGg+CiNpbmNsdWRlPGxpc3Q+CiNpbmNsdWRlPG1hcD4KI2luY2x1ZGU8c2V0PgoKI2luY2x1ZGUgPGV4dC9wYl9kcy9hc3NvY19jb250YWluZXIuaHBwPgojaW5jbHVkZSA8ZXh0L3BiX2RzL3RyZWVfcG9saWN5LmhwcD4KCnVzaW5nIG5hbWVzcGFjZSBfX2dudV9wYmRzOwp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdHlwZWRlZiBsb25nIGxvbmcgbGw7CnR5cGVkZWYgdW5zaWduZWQgbG9uZyBsb25nIHVsbDsKdHlwZWRlZiBkb3VibGUgZGI7CnR5cGVkZWYgbG9uZyBkb3VibGUgbGRiOwoKI2RlZmluZSBvcmRlcmVkX3NldCB0cmVlPGxsLCBudWxsX3R5cGUsbGVzc19lcXVhbDxsbD4sIFwKcmJfdHJlZV90YWcsdHJlZV9vcmRlcl9zdGF0aXN0aWNzX25vZGVfdXBkYXRlPgojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGxsIHBhaXI8bGwsbGw+CiNkZWZpbmUgaW5mIElOVDMyX01BWAojZGVmaW5lIGxpbmYgSU5UNjRfTUFYCiNkZWZpbmUgcGYgcHVzaF9mcm9udAojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIHBwYiBwb3BfYmFjawojZGVmaW5lIHBwZiBwb3BfZnJvbnQKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAoKbGwgZmFzdFBvdyhsbCBuLCBsbCBrLyosbGwgayovKSB7CiAgICBpZiAoayA9PSAwKXJldHVybiAxOwoKICAgIGxsIHJlcyA9IGZhc3RQb3cobiwgayAvIDIvKixrKi8pLyolayovOwoKICAgIHJlcyA9IChyZXMgKiByZXMpLyolayovOwoKICAgIGlmIChrICYgMSlyZXMgPSAocmVzICogbikvKiVrKi87CgogICAgcmV0dXJuIHJlcy8qJWsqLzsKfQoKbGwgZmFzdFBvdyhsbCBuLCBsbCBrLCBsbCBtKSB7CiAgICBpZiAoayA9PSAwKXJldHVybiAxOwoKICAgIGxsIHJlcyA9IGZhc3RQb3cobiwgayAvIDIsIG0pICUgbTsKCiAgICByZXMgPSAocmVzICogcmVzKSAlIG07CgogICAgaWYgKGsgJiAxKXJlcyA9IChyZXMgKiBuKSAlIG07CgogICAgcmV0dXJuIHJlcyAlIG07Cn0KCmxsIGNhbGNNb2QobGwgYSwgbGwgbSkgewogICAgcmV0dXJuIChhICUgbSArIG0pICUgbTsKfQoKbGwgY2FsY01vZChsbCBhLCBsbCBiLCBsbCBtKSB7CiAgICByZXR1cm4gKChhICUgbSkgKiBmYXN0UG93KGIsIG0gLSAyLCBtKSkgJSBtOwp9CgpsbCBDZWlsKGxsIG4sIGxsIG0pIHsKICAgIHJldHVybiAobiArIG0gLSAxKSAvIG07Cn0KCmNvbnN0IGxsIG1vZCA9IDk5ODI0NDM1MywgTiA9IDMwMDAwMCArIDUsIE0gPSA0ICsgNTsKCi8qIEdvIGxpdHRsZSByb2Nrc3RhciAqLwoKCmJvb2wgb2soc3RyaW5nIHMxKXsKICAgIGZvcihpbnQgaSA9IDE7IGkgPCBzMS5zaXplKCk7ICsraSl7CiAgICAgICAgaWYoYWJzKHMxW2ldIC0gczFbaSAtIDFdKSA9PSAxKXJldHVybiAwOwogICAgfQogICAgcmV0dXJuIDE7Cn0KCnZvaWQgcHJpbnQoc3RyaW5nIHMxLCBjb25zdCB2ZWN0b3I8aW50PiAmZmEpewogICAgZm9yKGNvbnN0IGF1dG8maSA6IHMxKXsKICAgICAgICBjb3V0IDw8IHN0cmluZyhmYVtpIC0gJ2EnXSwgaSk7CiAgICB9CiAgICBjb3V0IDw8ICJcbiI7Cn0KCmJvb2wgc29sdmUoKSB7CiAgICBzdHJpbmcgczsKICAgIGNpbiA+PiBzOwoKICAgIHZlY3RvcjxpbnQ+IGZhKDI2KTsKICAgIHZlY3RvcjxjaGFyPiBjOwogICAgZm9yKGludCBpID0gMDsgaSA8IHMuc2l6ZSgpOyArK2kpewogICAgICAgIGZhW3NbaV0gLSAnYSddKys7CiAgICAgICAgaWYoZmluZChjLmJlZ2luKCksIGMuZW5kKCksIHNbaV0pID09IGMuZW5kKCkpYy5wYihzW2ldKTsKICAgIH0KICAgIHNvcnQoYy5iZWdpbigpLCBjLmVuZCgpKTsKICAgIAoKICAgIHN0cmluZyBzMSA9IHtjW2Muc2l6ZSgpIC8gMl19OwogICAgaW50IGwgID0gYy5zaXplKCkgLyAyIC0gMiwgciA9IGMuc2l6ZSgpIC8gMiArIDI7CgogICAgd2hpbGUobCA+PSAwIHx8IHIgPCBjLnNpemUoKSl7CiAgICAgICAgczEucGIoY1tsLS1dKTsKICAgICAgICBpZihyIDwgYy5zaXplKCkpczEucGIoY1tyKytdKTsKICAgIH0gCiAgICBpZihjLnNpemUoKSAvIDIgLSAxID49IDApczEucGIoY1tjLnNpemUoKSAvIDIgLSAxXSk7CiAgICBpZihjLnNpemUoKSAvIDIgKyAxIDwgIGMuc2l6ZSgpKXMxLnBiKGNbYy5zaXplKCkgLyAyICsgMV0pOwogICAgCiAgICBpZihvayhzMSkpewogICAgICAgIHByaW50KHMxLCBmYSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBzd2FwKHMxW3MxLnNpemUoKSAtIDFdLCBzMVtzMS5zaXplKCkgLSAyXSk7CiAgICAgICAgaWYob2soczEpKXsKICAgICAgICAgICAgcHJpbnQoczEsIGZhKTsKICAgICAgICB9CiAgICAgICAgZWxzZSBjb3V0IDw8ICJObyBhbnN3ZXJcbiI7CiAgICB9CiAgICByZXR1cm4gMTsKfQoKaW50IG1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CgogICAgaW50IHQgPSAxOwogICAgY2luID4+IHQ7CiAgICB3aGlsZSAodC0tKSB7CiAgICAgICAgc29sdmUoKTsKICAgIH0KICAgIHJldHVybiAwOwp9