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.
import java.util.*;
import java.io.*;
 


public class SolutionC{
       public static void main(String[] args) throws Exception{
               Fast sc=new Fast();
        PrintWriter out=new PrintWriter(System.out);
        
       int t=sc.nextInt();
       while(t-->0){
        String a="abcdefghijklmnopqrstuvwxyz";
        int p=0;
        char[] c=sc.next().toCharArray();
          boolean ok=false;
          HashSet<Character> set=new HashSet<>();
          for(int i=0;i<c.length;i++)set.add(c[i]);
            if(c.length!=set.size())ok=true;
          int start=-1;
          int n=c.length;
          for(int i=0;i<n;i++){
            if(c[i]=='a')start=i;
          }
          if(start==-1)ok=true;
          int cnt=1;
          p++;
          char pos=a.charAt(p);
          int left=start;
          int right=start;
          String ss="a";
          
                    while(cnt<n){
                      boolean check=true;
                     
              if(left-1>=0){
                  if(c[left-1]==pos){
                    left--;
                     p++;
                     ss+=pos;
                     check=false;
                    if(p<26) pos=a.charAt(p);
                    cnt++;
                  }
              }
               if(right+1<n){
                   if(c[right+1]==pos){
                    right++;
                     p++;
                     ss+=pos;
                     cnt++;
                     check=false;
                      if(p<26) pos=a.charAt(p);
                  }
              }
              if(check==true)break;
              
              
          }
         
          if(ok || cnt!=n)out.println("NO");
          else out.println("YES");
       }

     out.close();
}
static boolean check(String s){
  StringBuilder sb=new StringBuilder(s);
  sb.reverse();
  String st=new String(sb);
      return st.equals(s);
}

static void Sort(int[] ar){
    ArrayList<Integer> al=new ArrayList<>();
    for(int i=0;i<ar.length;i++){al.add(ar[i]);}
    Collections.sort(al);
    for(int i=0;i<al.size();i++)ar[i]=al.get(i);
  }
static int gcd(int a,int b){
    if(b==0) return a;
    else return  gcd(b,a%b);
}
}
class Pair{
    int x, y;
     Pair(int x,int y){
        this.x=x;
        this.y=y;
     }
}
class Fast{
  BufferedReader br; 
  StringTokenizer st;
  public Fast(){ br=new BufferedReader(new InputStreamReader(System.in)); }
  String next() 
        {  while (st == null || !st.hasMoreElements()) 
            {   try
                {     st = new StringTokenizer(br.readLine()); } 
                catch (IOException  e) 
                {    e.printStackTrace(); } 
            } 
            return st.nextToken(); 
        }
  int nextInt(){  return Integer.parseInt(next()); }
  long nextLong(){     return Long.parseLong(next()); } 
  double nextDouble() {     return Double.parseDouble(next()); } 
  String nextLine() 
        { 
            String str = ""; 
            try{      str = br.readLine(); } 
            catch (IOException e)  {  e.printStackTrace(); } 
            return str; 
        } 
}
    