#include <bits/stdc++.h>
using namespace std;
vector<int> adj[26];
void dfs(int start, vector<bool> &visited, string &ans) {
  stack<int> s;
  visited[start] = true;
  s.push(start);
  ans.push_back('a' + start);
  while (!s.empty()) {
    int top = s.top();
    s.pop();
    for (int i = 0; i < adj[top].size(); i++) {
      if (!visited[adj[top][i]]) {
        visited[adj[top][i]] = true;
        ;
        s.push(adj[top][i]);
        ans.push_back('a' + adj[top][i]);
      }
    }
  }
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  int t;
  cin >> t;
  while (t--) {
    for (int i = 0; i < 26; i++) adj[i].clear();
    string s;
    set<int> ss;
    cin >> s;
    int len = s.length();
    if (len == 1) {
      cout << "YES" << endl;
      for (int i = 0; i < 26; i++) {
        char temp = 'a' + i;
        cout << temp;
      }
      cout << endl;
      continue;
    }
    vector<bool> visited(26, false);
    int flag = 0;
    for (int i = 0; i < len - 1; i++) {
      int a = s[i] - 'a';
      int b = s[i + 1] - 'a';
      if (a == b) {
        flag = 1;
        break;
      } else {
        int flag1 = 0;
        ss.insert(a);
        ss.insert(b);
        for (int i = 0; i < adj[a].size(); i++) {
          if (adj[a][i] == b) {
            flag1 = 1;
            break;
          }
        }
        for (int i = 0; i < adj[b].size(); i++) {
          if (adj[b][i] == a) {
            flag1 = 1;
            break;
          }
        }
        if (flag1 == 0) {
          adj[a].push_back(b);
          adj[b].push_back(a);
        }
      }
    }
    for (int i = 0; i < 26; i++) {
      if (adj[i].size() > 2) {
        flag = 1;
        break;
      }
    }
    string ans;
    int one_count = 0;
    for (int i = 0; i < 26; i++) {
      if (adj[i].size() == 1) one_count++;
      if (adj[i].size() == 1 && !visited[i]) {
        dfs(i, visited, ans);
      }
    }
    for (int i = 0; i < 26; i++) {
      if (!visited[i]) {
        ans.push_back('a' + i);
      }
    }
    if (flag == 1 || one_count < 2) {
      cout << "NO" << endl;
      continue;
    }
    cout << "YES" << endl;
    cout << ans << endl;
  }
  return 0;
}
