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 math
# #import defaultdict
# #import itertools
# for _ in range(int(input())):
#     n = int(input())
#     arr = [int(i) for i in input().split()]
#     T = sum(arr)
#     if T<n: print(T*(n-T))
#     elif T%n==0: print(0)
#     else: quot = T//n; diff = T-quot*n; print((n-diff)*diff)

# for _ in range(int(input())):
#     uselessline = input()
#     A1, A2 = map(int, input().split())
#     B1, B2 = map(int, input().split())
#     F1, F2 = map(int, input().split())
#     final = abs(A1-B1) + abs(A2-B2)
#     if A1==F1 and B1==F1: 
#         MN, MX = min(A2,B2), max(A2,B2)
#         if F2>MN and F2<MX: final += 2
#     elif A2==F2 and  B2==F2:
#         MN, MX = min(A1,B1), max(A1,B1)
#         if F1>MN and F1<MX: final += 2
#     print(final)

for _ in range(int(input())):
    s = input()
    size, indx, ans =  len(s), -1, 'YES'
    for i in range(size):
        if s[i]=='a': indx = i; break
    if indx==-1: ans = 'NO'
    else: 
        v = ord(s[indx])
        left = ryt = indx
        trace = 1
        while trace<size:
            if  0<=left-1 and ord(s[left-1])==v+1:
                trace += 1
                v += 1
                left -= 1
            elif ryt + 1< size and ord(s[ryt + 1])==v+1:
                trace += 1
                ryt += 1
                v += 1
            else: break
        if trace< size: ans = 'NO'
    print(ans)


# for _ in range(int(input())):
#     s = input()
#     size, indx, ans =  len(s), -1, 'YES'
#     if 'a' in s: indx = s.index('a')
#     if indx==-1: ans = 'NO'
#     else:
#         v = ord(s[indx]); left = ryt = indx; trace = 1
#         while trace<size:
#             if ord(s[left-1])==v+1 and 0<=left-1: trace += 1; left -= 1; v += 1
#             elif ord(s[ryt+1])==v+1 and ryt+1<size: trace += 1; ryt += 1; v += 1
#             else: break
#         if trace<size: ans = 'NO'
#     print(ans)

    
