#include <bits/stdc++.h>
const int inf1 = 1e9;
const long long int inf2 = 1e18;
const int N = 100000;
using namespace std;
int dirs[4][2] = {{1, 0}, {-1, 0}, {0, 1}, {0, -1}};
int solve() {
  set<int> g[27];
  int visit[27] = {0};
  string s;
  cin >> s;
  int n = s.length();
  if (n == 1) {
    cout << "YES"
         << "\n";
    cout << "abcdefghijklmnopqrstuvwxyz\n";
    return 0;
  }
  for (int i = 0; i < n - 1; i++) {
    g[s[i] - 96].insert(s[i + 1] - 96);
    g[s[i + 1] - 96].insert(s[i] - 96);
  }
  int cnt = 0;
  for (int i = 1; i <= 26; i++) {
    if (g[i].size() > 2) {
      cout << "NO"
           << "\n";
      return 0;
    }
    if (g[i].size() == 1) cnt++;
  }
  if (cnt != 2) {
    cout << "NO"
         << "\n";
    return 0;
  }
  cout << "YES"
       << "\n";
  for (int i = 1; i <= 26; i++) {
    if (!visit[i] && g[i].size() == 1) {
      queue<int> st;
      st.push(i);
      visit[i] = 1;
      while (!st.empty()) {
        int v = st.front();
        char c = v + 96;
        cout << c;
        visit[v] = 1;
        st.pop();
        for (auto i : g[v]) {
          if (!visit[i]) {
            st.push(i);
          }
        }
      }
    } else if (!visit[i] && g[i].size() == 0) {
      char c = i + 96;
      cout << c;
    }
  }
  cout << "\n";
  return 0;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  int t = 1;
  cin >> t;
  while (t--) {
    solve();
  }
  return 0;
}
