#include <bits/stdc++.h>
using namespace std;
int a[30][30], cnt[30], vis[30], m[30][30], p[30];
string ans = "";
void dfs(int n) {
  vis[n] = 1;
  ans += char('a' + n);
  for (int i = 0; i < cnt[n]; i++) {
    if (vis[a[n][i]] == 0) dfs(a[n][i]);
  }
}
int main() {
  int t;
  cin >> t;
  string s;
  while (t--) {
    memset(a, 0, sizeof(a));
    memset(cnt, 0, sizeof(cnt));
    memset(vis, 0, sizeof(vis));
    memset(m, 0, sizeof(m));
    memset(p, 0, sizeof(p));
    cin >> s;
    int flag = 1;
    ans = "";
    for (int i = 0; i < s.length(); i++) {
      if (i == 0) {
        if (!m[s[i] - 'a'][s[i + 1] - 'a']) {
          a[s[i] - 'a'][cnt[s[i] - 'a']++] = s[i + 1] - 'a';
          m[s[i] - 'a'][s[i + 1] - 'a'] = 1;
        }
      } else if (i == s.length() - 1) {
        if (!m[s[i] - 'a'][s[i - 1] - 'a']) {
          a[s[i] - 'a'][cnt[s[i] - 'a']++] = s[i - 1] - 'a';
          m[s[i] - 'a'][s[i - 1] - 'a'] = 1;
        }
      } else {
        if (!m[s[i] - 'a'][s[i - 1] - 'a']) {
          a[s[i] - 'a'][cnt[s[i] - 'a']++] = s[i - 1] - 'a';
          m[s[i] - 'a'][s[i - 1] - 'a'] = 1;
        }
        if (!m[s[i] - 'a'][s[i + 1] - 'a']) {
          a[s[i] - 'a'][cnt[s[i] - 'a']++] = s[i + 1] - 'a';
          m[s[i] - 'a'][s[i + 1] - 'a'] = 1;
        }
      }
      if (cnt[s[i] - 'a'] > 2) {
        flag = 0;
        break;
      }
      p[s[i] - 'a'] = 1;
    }
    int num = 0, u;
    for (int i = 0; i < 26; i++)
      if (cnt[i] == 1) {
        num++;
        u = i;
      }
    if (num != 2) flag = 0;
    if (s.size() == 1) {
      puts("YES");
      puts("abcdefghijklmnopqrstuvwxyz");
      continue;
    }
    if (!flag)
      puts("NO");
    else {
      puts("YES");
      dfs(u);
      for (int i = 0; i < 26; i++) {
        if (!p[i]) ans += char('a' + i);
      }
      cout << ans << endl;
    }
  }
  return 0;
}
