← К соревнованиям

Олимпиада школьников "Innopolis Open"

Проблема с парковкой

Сложность: 44%

Паулина приехала на конференцию по фрагментации файловых систем в университет Иннополис на автомобиле. Парковка университета представляет из себя полосу ширины nn метров, на которой параллельно друг другу стоят транспортные средства. На ней могут парковаться владельцы автомобилей и мотоциклов. Кроме того, вся парковка разделена на nn зон ширины 1 метр. Водители уважают друг друга и паркуются по разделителям: мотоцикл занимает одну зону ширины 1 метр, а автомобиль – две соседние зоны суммарной ширины 2 метра.

Паулина хочет въехать на парковку. В данный момент, некоторые зоны заняты транспортными средствами. Также, у парковки собралась очередь на въезд из mm транспортных средств, не считая автомобиля Паулины. Все транспортные средства по очереди будут въезжать на парковку, и занимать любое свободное место: одну зону, если это мотоцикл, и две соседние зоны, если это автомобиль. Если водитель не может найти ни одного свободного места для своего транспортного средства, то он покидает Иннополис, не занимая места на парковке.

Паулине скоро выступать на конференции, и так как в Иннополисе люди очень вежливые, все в очереди готовы пропустить Паулину на парковку перед собой, чтобы она успела на свой доклад. Паулина не хочет пользоваться своим положением, но опасается, что если мест на парковке не хватит, то на доклад она точно не попадет. Так как Паулина эксперт во фрагментации файловых систем, она понимает, что транспортные средства не всегда удачно занимают места на парковке, и ей может не остаться места. Она смогла быстро понять, заехав перед кем в очереди, она гарантирует своему автомобилю свободное место на парковке.

Вам задано, какие из nn зон на парковке заняты, а также очередь из mm мотоциклов и автомобилей, не считая автомобиля Паулины. Требуется понять для каждого ii от 0 до mm, останется ли место для автомобиля Паулины, если она въедет на парковку после первых ii транспортных средств из очереди, вне зависимости от того, какие зоны они займут.

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

Вам нужно будет решить несколько тестов.

В первой строке задано целое число tt – число тестов во входных данных (1t500001 \le t \le 50\,000).

Далее заданы tt тестов, каждый из которых состоит из двух строк.

В первой из этих строк записано nn символов . и X, ii-й из которых описывает ii-ю зону: . для свободной зоны и X – для занятой (1n1051 \le n \le 10^5).

Во второй из этих строк записано mm заглавных букв английского алфавита C и M, описывающих очередь из автомобилей C и мотоциклов M (1mn1 \le m \le n). Первая буква соответствует началу очереди, а последняя – концу.

Сумма nn по tt заданным тестам не превосходит 51055 \cdot 10^5.

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

Выведите tt строк: по одному для каждого теста.

Строка должна содержать m+1m + 1 заглавных букв английского алфавита Y и N, для каждого ii от 0 до mm запишите Y, если Паулина найдет место для своего автомобиля, въехав на парковку после ii первых транспортных средств из очереди, вне зависимости от того, какие зоны они займут, и N в противном случае.

Подзадачи

баллынеобх. подзадачиограничения
0

0

-

Тесты из условия

1

31

-

На парковке нет занятых зон

2

22

1

На парковке не более одной занятой зоны

3

23

-

В очереди только мотоциклы

4

24

2, 3

Нет дополнительных ограничений

STDINSTDOUT
1
X..X
MM
YNN
5
......
MMMC
......
CCCM
.X..X.
MMM
XXXXXX
CMMCM
......
MM
YYYNN
YYNNN
YNNN
NNNNNN
YYY

Примечание

В первом примере Паулина может поставить свой автомобиль на две свободные зоны, если заедет первой. Если же Паулина заедет не первой, то свободных зон будет одна или ни одной, тогда она не сможет припарковаться.

В первом тесте второго примера после того, как заедут три первых мотоцикла в очереди, они могут встать следующим образом: M.M.M., тогда Паулина не сможет найти две соседние зоны, чтобы припарковать свой автомобиль.