Олимпиадный тренинг

Задача . E. Игра со строкой


Задача

Темы: игры *2500

Алиса и Боб играют в игру. Изначально у них есть строка \(s_1, s_2, \dots, s_n\), состоящая только из символов . и X. Игроки ходят по очереди, и Алиса ходит первой. В течении хода игрок должен выбрать непрерывную подстроку, состоящую только из символов ., и заменить каждый символ в ней на X. Алиса выбирает подстроки длины ровно \(a\), а Боб выбирает подстроки длины ровно \(b\). Гарантируется, что \(a > b\).

Например, если \(s =\) ...X.. и \(a = 3\), \(b = 2\), то после хода Алисы строка может превратиться только в XXXX... Если \(s =\) ...X.., и сейчас ход Боба, то после него строка может превратиться в XX.X.., .XXX.. или ...XXX.

Игрок, который не может сделать ход, считается проигравшим. Вам нужно определить, кто выиграет в этой игре если оба игрока играют оптимально.

Вам нужно ответить на \(q\) независимых запросов.

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

Первая строка содержит число \(q\) (\(1 \le q \le 3 \cdot 10^5\)) — количество запросов.

Первая строка каждого запроса содержит два числа \(a\) и \(b\) (\(1 \le b < a \le 3 \cdot 10^5\)).

Вторая строка каждого запроса содержит строку \(s\) (\(1 \le |s| \le 3 \cdot 10^5\)), состоящую только из символов . и X.

Гарантируется, что сумма \(|s|\) по всем запросам не превосходит \(3 \cdot 10^5\).

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

На каждый запрос выведите YES, если Алиса может выиграть, и NO в обратном случае.

Вы можете выводить ответ в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).

Примечание

В первом запросе Алиса может выбрать подстроку \(s_3 \dots s_5\). После этого \(s\) превратится в XXXXX...XX...X. Теперь, независимо от хода Боба, у Алисы будет возможность сделать второй ход, а вот Боб второй ход сделать не сможет.

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

В третьем запросе Алиса может выбрать подстроку \(s_2 \dots s_6\). После этого \(s\) превратится в .XXXXX.X..X, и Боб не сможет сделать ход.


Примеры
Входные данныеВыходные данные
1 3
3 2
XX......XX...X
4 2
X...X.X..X
5 3
.......X..X
YES
NO
YES

time 3000 ms
memory 256 Mb
Правила оформления программ и список ошибок при автоматической проверке задач

Статистика успешных решений по компиляторам
 Кол-во
С++ Mingw-w645
Комментарий учителя