CF1672B I love AAAB

Description

Let's call a string good if its length is at least $ 2 $ and all of its characters are $ \texttt{A} $ except for the last character which is $ \texttt{B} $ . The good strings are $ \texttt{AB},\texttt{AAB},\texttt{AAAB},\ldots $ . Note that $ \texttt{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: - Choose any position of $ s_1 $ and insert some good string in that position. Given a string $ s_2 $ , can we turn $ s_1 $ into $ s_2 $ after some number of operations?

Input Format

Each test contains multiple test cases. The first line contains a single integer $ t $ ( $ 1 \leq t \leq 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 \leq |s_2| \leq 2 \cdot 10^5 $ ). It is guaranteed that $ s_2 $ consists of only the characters $ \texttt{A} $ and $ \texttt{B} $ . It is guaranteed that the sum of $ |s_2| $ over all test cases does not exceed $ 2 \cdot 10^5 $ .

Output Format

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).

Explanation/Hint

In the first test case, we transform $ s_1 $ as such: $ \varnothing \to \color{red}{\texttt{AAB}} \to \texttt{A}\color{red}{\texttt{AB}}\texttt{AB} $ . In the third test case, we transform $ s_1 $ as such: $ \varnothing \to \color{red}{\texttt{AAAAAAAAB}} $ . In the second and fourth test case, it can be shown that it is impossible to turn $ s_1 $ into $ s_2 $ .