#include <bits/stdc++.h>
using namespace std;
int dfs(int node, int parent, vector<vector<int>> &adj, vector<int> &vis,
        int &ans) {
  vis[node] = 1;
  for (int i = 0; i < adj[node].size(); i++) {
    int child = adj[node][i];
    if (child != parent) {
      if (vis[child] == 1) {
        ans = 1;
        return 1;
      } else
        dfs(child, node, adj, vis, ans);
    }
  }
  return 0;
}
void generate_ans(int node, int parent, vector<vector<int>> &adj,
                  vector<int> &vis, string &ans) {
  vis[node] = 1;
  char c = node + 'a' - 1;
  ans = ans + c;
  for (int i = 0; i < adj[node].size(); i++) {
    int child = adj[node][i];
    if (child != parent) {
      generate_ans(child, node, adj, vis, ans);
    }
  }
}
int main() {
  int t;
  cin >> t;
  while (t) {
    string str;
    cin >> str;
    if (str.size() == 1) {
      vector<int> vis(27, 0);
      int index_vis = str[0] - 'a' + 1;
      vis[index_vis] = 1;
      cout << "YES\n";
      cout << str;
      for (int i = 1; i <= 26; i++) {
        if (vis[i] == 0) {
          char c = i + 'a' - 1;
          cout << c;
        }
      }
      cout << endl;
    } else {
      vector<vector<int>> adj(27);
      set<pair<int, int>> s;
      for (int i = 1; i < str.size(); i++) {
        int a = str[i - 1] - 'a' + 1;
        int b = str[i] - 'a' + 1;
        pair<int, int> p = make_pair(a, b);
        if (s.find(p) == s.end()) {
          adj[a].push_back(b);
          adj[b].push_back(a);
          s.insert(make_pair(a, b));
          s.insert(make_pair(b, a));
        }
      }
      vector<int> vis(27, 0);
      int node = str[0] - 'a' + 1;
      int a = 0;
      dfs(node, 0, adj, vis, a);
      int degree3 = 0;
      int parent_node = -1;
      for (int i = 1; i <= 26; i++) {
        if (adj[i].size() >= 3) {
          degree3 = 1;
        }
        if (adj[i].size() == 1) {
          parent_node = i;
        }
      }
      if (degree3 == 0 && a == 0) {
        vector<int> vis(27, 0);
        string str;
        generate_ans(parent_node, 0, adj, vis, str);
        cout << "YES\n";
        cout << str;
        for (int i = 1; i <= 26; i++) {
          if (vis[i] == 0) {
            char c = i + 'a' - 1;
            cout << c;
          }
        }
        cout << endl;
      } else {
        cout << "NO\n";
      }
    }
    t--;
  }
  return 0;
}
