#include<bits/stdc++.h>
#include<algorithm>
using namespace std;
#define int            		long long
#define uint           		unsigned long long
#define mloop(i)       		for(auto i=m.begin();i!=m.end();i++)
#define pb             		push_back
#define pll            		pair<ll,ll>
#define pii            		pair<int,int>
#define mod            		1000000007
void seive(int);
bool cmp(int, int);
vector<bool> prime(200002, true);


//main logic
void solve()
{
	string s;
	cin >> s;
	int pos = -1, i, j, k;
	unordered_map<char, int> umap;
	for (i = 0; s[i] != '\0'; i++)
	{
		if (s[i] == 'a')
		{
			pos = i;
			break;
		}
	}
	for (i = 0; i < s.length(); i++)
	{
		if (s[i] > char(97 + s.length() - 1))
		{
			cout << "NO" << endl;
			return;
		}
	}
	for (i = 0 ; i < s.length() ; i++)
	{
		umap[s[i]]++;
	}
	for (auto i : umap)
	{
		if (i.second >= 2)
		{
			cout << "NO" << endl;
			return;
		}
	}
	if (pos == -1)
	{
		cout << "NO" << endl;
		return;
	}
	if (s.length() == 2)
	{
		if (s == "ab" || s == "ba")
		{
			cout << "YES" << endl;
			return;
		}
		else
		{
			cout << "NO" << endl;
			return;
		}
	}
	for (i = 0; i < pos - 1 ; i++)
	{
		if (s[i] <= s[i + 1])
		{
			cout << "NO" << endl;
			return;
		}
	}
	for (i = pos + 1; i < s.length() - 1; i++)
	{
		if (s[i] >= s[i + 1])
		{
			cout << "NO" << endl;
			return;
		}
	}
	cout << "YES" << endl;
}


//main function
int32_t main()
{
#ifndef ONLINE_JUDGE
	freopen("input.txt" , "r" , stdin);
	freopen("output.txt" , "w" , stdout);
#endif
	ios::sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);

	int t = 1;
	cin >> t;
	while (t--)
	{
		solve();
	}
	//solve();
	return 0;
}

//program to find prime numbers till n
void seive(int mx)
{
	prime[0] = prime[1] = false;
	for (int i = 2; i * i <= mx; i++)
	{
		if (prime[i])
		{
			for (int j = i * i; j <= mx; j += i)
			{
				prime[j] = false;
			}
		}
	}
}

bool cmp(int x, int y)
{
	if (x > y)
		return true;
	else
		return false;
}