Let's call a string good if its length is at least 2 and all of its characters are A except for the last character which is B. The good strings are AB,AAB,AAAB,…. Note that B is not a good string.
You are given an initially empty string s_1.
You can perform the following operation any number of times:
Given a string s_2, can we turn s_1 into s_2 after some number of operations?
Input
Each test contains multiple test cases. The first line contains a single integer t (1 ≤ t ≤ 10^4) — the number of test cases. The description of the test cases follows.The first line of each test case contains a single string s_2 (1 ≤ |s_2| ≤ 2 · 10^5).It is guaranteed that s_2 consists of only the characters A and B.It is guaranteed that the sum of |s_2| over all test cases does not exceed 2 · 10^5.
Output
For each test case, print "YES" (without quotes) if we can turn s_1 into s_2 after some number of operations, and "NO" (without quotes) otherwise.You can output "YES" and "NO" in any case (for example, strings "yEs", "yes" and "Yes" will be recognized as a positive response).
Examples
Note
In the first test case, we transform s_1 as such: redAAB AredABAB.In the third test case, we transform s_1 as such: redAAAAAAAAB.In the second and fourth test case, it can be shown that it is impossible to turn s_1 into s_2.