A string s of length n (1 ≤ n ≤ 26) is called alphabetical if it can be obtained using the following algorithm:

  * first, write an empty string to s (i.e. perform the assignment s := ""); 
  * then perform the next step n times; 
  * at the i-th step take i-th lowercase letter of the Latin alphabet and write it either to the left of the string s or to the right of the string s (i.e. perform the assignment s := c+s or s := s+c, where c is the i-th letter of the Latin alphabet). 



In other words, iterate over the n first letters of the Latin alphabet starting from 'a' and etc. Each time we prepend a letter to the left of the string s or append a letter to the right of the string s. Strings that can be obtained in that way are alphabetical.

For example, the following strings are alphabetical: "a", "ba", "ab", "bac" and "ihfcbadeg". The following strings are not alphabetical: "z", "aa", "ca", "acb", "xyz" and "ddcba".

From the given string, determine if it is alphabetical.

Input

The first line contains one integer t (1 ≤ t ≤ 10^4) — the number of test cases. Then t test cases follow.

Each test case is written on a separate line that contains one string s. String s consists of lowercase letters of the Latin alphabet and has a length between 1 and 26, inclusive.

Output

Output t lines, each of them must contain the answer to the corresponding test case. Output YES if the given string s is alphabetical and NO otherwise.

You can output YES and NO in any case (for example, strings yEs, yes, Yes and YES will be recognized as a positive answer).

Example

Input


11
a
ba
ab
bac
ihfcbadeg
z
aa
ca
acb
xyz
ddcba


Output


YES
YES
YES
YES
YES
NO
NO
NO
NO
NO
NO

Note

The example contains test cases from the main part of the condition.
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define pb push_back
#define vec vector<ll>
#define mk make_pair
#define F first
#define S second
#define mod 1000000007
#define all(cc) (cc).begin(),(cc).end()
#define Tesmik ios_base::sync_with_stdio (false) ; cin.tie(0) ; cout.tie(0) ;
int main(){
    	Tesmik
     ll q; cin>>q;
  //vector< pair <ll,ll> > v(n);

for (ll j=0;j<q;j++)
{  string s; cin>>s;
 ll x = s.size();
 string d =s;
 sort(all(d)); bool g=false;
 for (ll i=0;i<x;i++)
 {
     if(d[i]-'a'==i)g=true;
     else {
        g=false; break;
     }
 }

 ll id=-1;
 if (g)
 {
       for (ll i=0;i<x;i++)
     {
         if(s[i]=='a')id=i;
     }
     if(id==0)
     {
         if(is_sorted(all(s)))cout<<"YES\n";
         else cout<<"No\n";
     }
     else if(id==x-1)
     {
         reverse(all(s));
          if(is_sorted(all(s)))cout<<"YES\n";
         else cout<<"No\n";
     }
     else{
        ll l =id-1,r=id+1; bool k=true;
    for (ll i=1;i<x;i++)
    { bool v=true,b=true;
        if(r<=x-1)
        {
            if(s[r]==d[i])r++;
            else v=false;
        }
        else v=false;

        if(l>=0)
        {
            if(s[l]==d[i])l--;
            else b=false;
        }
        else b=false;

        if(!v and  !b){
            cout<<"No\n"; k= false;break;
        }

    }
    if(k)cout<<"YES\n";
     }

 }
 else cout<<"No\n";

}



}
