D. Лингвистика
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Алина обнаружила странный язык, который содержит всего $$$4$$$ слова: $$$\texttt{A}$$$, $$$\texttt{B}$$$, $$$\texttt{AB}$$$, $$$\texttt{BA}$$$. Оказалось, что в этом языке нет пробелов: предложение записывается путем объединения (конкатенации) его слов в одну строку.

Алина нашла одно такое предложение $$$s$$$ и ей интересно: возможно ли, что оно состоит ровно из $$$a$$$ слов $$$\texttt{A}$$$, $$$b$$$ слов $$$\texttt{B}$$$, $$$c$$$ слов $$$\texttt{AB}$$$ и $$$d$$$ слов $$$\texttt{BA}$$$?

Другими словами, определите, можно ли объединить (конкатенировать) эти слова $$$a+b+c+d$$$ в некотором порядке так, чтобы получилась строка $$$s$$$. Каждое из слов $$$a+b+c+d$$$ должно быть использовано в конкатенации ровно один раз, но вы можете выбрать порядок, в котором они будут конкатенироваться.

Входные данные

Первая строка входных данных содержит одно целое число $$$t$$$ ($$$1 \le t \le 10^5$$$) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит четыре целых числа $$$a$$$, $$$b$$$, $$$c$$$, $$$d$$$ ($$$0\le a,b,c,d\le 2\cdot 10^5$$$) — количество раз, которое слова $$$\texttt{A}$$$, $$$\texttt{B}$$$, $$$\texttt{AB}$$$, $$$\texttt{BA}$$$ соответственно должны быть использованы в предложении.

Вторая строка содержит строку $$$s$$$ ($$$s$$$ состоит только из символов $$$\texttt{A}$$$ и $$$\texttt{B}$$$, $$$1\le |s| \le 2\cdot 10^5$$$, $$$|s|=a+b+2c+2d$$$)  — предложение. Обратите внимание, что условие $$$|s|=a+b+2c+2d$$$ (здесь $$$|s|$$$ обозначает длину строки $$$s$$$) эквивалентно тому, что $$$s$$$ имеет длину, равную длине конкатенации слов $$$a+b+c+d$$$.

Сумма длин $$$s$$$ по всем наборам входных данных не превышает $$$2\cdot 10^5$$$.

Выходные данные

Для каждого набора входных данных выведите $$$\texttt{YES}$$$, если возможно, что предложение $$$s$$$ состоит ровно из $$$a$$$ слов $$$\texttt{A}$$$, $$$b$$$ слов $$$\texttt{B}$$$, $$$c$$$ слов $$$\texttt{AB}$$$ и $$$d$$$ слов $$$\texttt{BA}$$$, и $$$\texttt{NO}$$$ в противном случае. Вы можете выводить каждую букву в любом регистре.

Пример
Входные данные
8
1 0 0 0
B
0 0 1 0
AB
1 1 0 1
ABAB
1 0 1 1
ABAAB
1 1 2 2
BAABBABBAA
1 1 2 3
ABABABBAABAB
2 3 5 4
AABAABBABAAABABBABBBABB
1 3 3 10
BBABABABABBBABABABABABABAABABA
Выходные данные
NO
YES
YES
YES
YES
YES
NO
YES
Примечание

В первом наборе входных данных предложение $$$s$$$  — это $$$\texttt{B}$$$. Очевидно, что оно не может состоять из одного слова $$$\texttt{A}$$$, поэтому ответ  — $$$\texttt{NO}$$$.

Во втором наборе входных данных предложение $$$s$$$  — $$$\texttt{AB}$$$, и возможно, что оно состоит из одного слова $$$\texttt{AB}$$$, поэтому ответ  — $$$\texttt{YES}$$$.

В третьем наборе входных данных предложение $$$s$$$  — $$$\texttt{ABAB}$$$, и возможно, что оно состоит из одного слова $$$\texttt{A}$$$, одного слова $$$\texttt{B}$$$ и одного слова $$$\texttt{BA}$$$, так как $$$\texttt{A} + \texttt{BA} + \texttt{B} = \texttt{ABAB}$$$.

В четвертом наборе входных данных предложение $$$s$$$  — $$$\texttt{ABAAB}$$$, и возможно, что оно состоит из одного слова $$$\texttt{A}$$$, одного слова $$$\texttt{AB}$$$ и одного слова $$$\texttt{BA}$$$, так как $$$\texttt{A} + \texttt{BA} + \texttt{AB} = \texttt{ABAAB}$$$.

В пятом наборе входных данных предложение $$$s$$$  — $$$\texttt{BAABBABBAA}$$$, и возможно, что оно состоит из одного слова $$$\texttt{A}$$$, одного слова $$$\texttt{B}$$$, двух слов $$$\texttt{AB}$$$ и двух слов $$$\texttt{BA}$$$, так как $$$\texttt{BA} + \texttt{AB} + \texttt{B} + \texttt{AB} + \texttt{BA} + \texttt{A}= \texttt{BAABBABBAA}$$$.