func_code_string: #include <bits/stdc++.h>   using namespace std;   bool letras[26];   int main() {     list<char> kbd;     list<char>::iterator i;     int t, j;     bool foundKbd;     string s;     for (cin >> t; t > 0; t--) {       foundKbd = true;       cin >> s;       for (j = 0; j < s.size() && foundKbd; j++) {         if (kbd.size() == 0) {           kbd.push_back(s.at(j));           letras[s.at(j) -  a ] = true;         } else if (letras[s.at(j) -  a ] == false) {           for (i = kbd.begin(); i != kbd.end() && *i != s.at(j - 1); i++)             ;           if (i == kbd.begin()) {             kbd.push_front(s.at(j));             letras[s.at(j) -  a ] = true;           } else if (i == --kbd.end()) {             kbd.push_back(s.at(j));             letras[s.at(j) -  a ] = true;           } else             foundKbd = false;         } else {           for (i = kbd.begin(); i != kbd.end() && *i != s.at(j - 1); i++)             ;           if (*(++i) == s.at(j))             --i;           else if (*(--(--i)) != s.at(j))             foundKbd = false;         }       }       if (foundKbd) {         cout <<  YES  << endl;         for (j = 0; j < 26; j++)           if (letras[j] == false) kbd.push_back( a  + j);         for (i = kbd.begin(); i != kbd.end(); i++) cout << *i;         cout << endl;       } else         cout <<  NO  << endl;       kbd.clear();       for (j = 0; j < 26; j++) letras[j] = false;     }   }   