#include <bits/stdc++.h>
using namespace std;
using namespace rel_ops;
const int inf = ~0u >> 2;
const long long INF = ~0ull >> 2;
const double err = 1e-11;
const double pi = acos(-1);
inline long long read() {
  long long x;
  if (scanf("%lld", &x) == -1) exit(0);
  return x;
}
inline double readf() {
  double x;
  if (scanf("%lf", &x) == -1) exit(0);
  return x;
}
template <typename _>
inline _ sqr(_ x) {
  return x * x;
}
ostream &operator<<(ostream &o, const pair<int, int> &x) {
  return o << '(' << x.first << ',' << x.second << ')';
}
mt19937 rnd(time(0));
const int N = 20010;
const int mod = (0 ? 1000000007 : 998244353);
long long T;
string s;
deque<char> a;
set<char> Set;
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  cin >> T;
  while (T--) {
    cin >> s;
    Set.clear();
    a.clear();
    long long i = 0, f = 1;
    for (auto c : s) {
      if (Set.empty()) {
        Set.insert(c);
        a.push_back(c);
        continue;
      }
      if (Set.count(c)) {
        if (i != 0 && a[i - 1] == c) {
          i--;
          continue;
        }
        if (i != (long long)a.size() - 1 && a[i + 1] == c) {
          i++;
          continue;
        }
        f = false;
      } else {
        if (i == 0) {
          a.push_front(c);
          Set.insert(c);
          continue;
        }
        if (i == (long long)a.size() - 1) {
          a.push_back(c);
          Set.insert(c);
          i++;
          continue;
        }
        f = false;
      }
    }
    if (f) {
      cout << "YES" << endl;
      for (long long i = ('a'), _ = ('z' + 1); i < _; i++)
        if (!Set.count(i)) {
          a.push_back(i);
        }
      for (auto i : a) cout << char(i);
      cout << endl;
    } else
      cout << "NO" << endl;
  }
  return 0;
}
