#include <bits/stdc++.h>
using namespace std;
const long long INF64 = 1000000000000000000;
const long long BigPrime = 252097800623;
const long double LDINF = 1000000000000;
const long long Mmod = 998244353;
const long long INF = 1000000000;
const long long Mod = 1000000007;
const long double PI = acos(-1.);
const long double Eps = 10e-10;
const long long Prime = 31;
const unsigned int N = 100005;
int n, c[26];
string s;
set<char> inn;
void input() {
  cin >> s;
  for (int i = 0; i < 26; i++) c[i] = 0;
  inn.clear();
  for (char elem : s) {
    c[elem - 'a']++;
    inn.insert(elem);
  }
}
void solve() {
  vector<char> vv(inn.begin(), inn.end());
  if (vv.size() > 3) {
    for (int i = 1; i < vv.size(); i += 2)
      cout << string(c[vv[i] - 'a'], vv[i]);
    for (int i = 0; i < vv.size(); i += 2)
      cout << string(c[vv[i] - 'a'], vv[i]);
    cout << endl;
  } else if (vv.size() == 3) {
    if (vv[0] == vv[1] - 1 && vv[1] == vv[2] - 1) {
      cout << "No answer" << endl;
    } else {
      if (vv[0] == vv[1] - 1) {
        cout << string(c[vv[0] - 'a'], vv[0]) + string(c[vv[2] - 'a'], vv[2]) +
                    string(c[vv[1] - 'a'], vv[1])
             << endl;
      } else
        cout << string(c[vv[1] - 'a'], vv[1]) + string(c[vv[0] - 'a'], vv[0]) +
                    string(c[vv[2] - 'a'], vv[2])
             << endl;
    }
  } else if (vv.size() == 2) {
    if (vv[0] == vv[1] - 1) {
      cout << "No answer" << endl;
    } else
      cout << string(c[vv[1] - 'a'], vv[1]) + string(c[vv[0] - 'a'], vv[0])
           << endl;
  } else
    cout << string(c[vv[0] - 'a'], vv[0]) << endl;
}
int main() {
  int testcases = 1;
  scanf("%d", &testcases);
  for (int _ = 0; _ < testcases; ++_) {
    input();
    solve();
  }
  return 0;
}
