#include <bits/stdc++.h> 
using namespace std;
#define     ll              long long
// #define     mp              make_pair
#define     rep(i,a,b)      for( i=a;i<b;++i)
#define     repr(i,a,b)     for( i=a;i>=b;i--)
#define     up              upper_bound
#define     lb              lower_bound
#define     t()             int test;cin>>test;while(test--)
#define     IOS             ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);

#define TRACE
#ifdef TRACE
#define trace(...) __f(#__VA_ARGS__, __VA_ARGS__)
    template <typename Arg1>
    void __f(const char* name, Arg1&& arg1){
        cout << name << " : " << arg1 << endl;
        //use cerr if u want to display at the bottom
    }
    template <typename Arg1, typename... Args>
    void __f(const char* names, Arg1&& arg1, Args&&... args){
        const char* comma = strchr(names + 1, ','); cout.write(names, comma - names) << " : " << arg1<<" | ";__f(comma+1, args...);
    }
#else
#define trace(...)
#endif
 
ll const mod = 1000000007;

int main()
{  
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
    IOS;
    ll t;
    cin >> t;
    while(t--){
        string s;
        cin >> s;
        ll n = s.length();
        ll i = n-1;
        bool flag = true;
        while(s.size() != 0){
            ll len = s.length();
            char c = 'a' + i;
            if(s[0] == c){
                s.erase(s.begin());
            }else if(s[len-1] == c){
                s.erase(s.begin() + (len - 1));
            }else{
                flag = false;
                break;
            }
            i--;
        }
        if((i < 0) && ((ll)s.length() == 0) && (flag)){
            cout << "YES" << "\n";
        }else{
            cout << "NO" << "\n";
        }
    }
    return 0;
}
