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

Задача . A. Две 0-1 последовательности


У AquaMoon есть две бинарные последовательности \(a\) и \(b\), содержащие только \(0\) и/или \(1\). Она может выполнить две следующие операции любое количество раз (\(a_1\) — первый элемент \(a\), \(a_2\) — второй элемент \(a\) и т. д.):

  • Операция 1: если \(a\) содержит хотя бы два элемента, замените \(a_2\) на \(\operatorname{min}(a_1,a_2)\) и удалите первый элемент \(a\).
  • Операция 2: если \(a\) содержит хотя бы два элемента, замените \(a_2\) на \(\operatorname{max}(a_1,a_2)\) и удалите первый элемент \(a\).

Обратите внимание, что после удаления первого элемента \(a\) бывший \(a_2\) становится первым элементом \(a\), бывший \(a_3\) становится вторым элементом \(a\) и так далее, а длина \(a\) уменьшается на единицу.

Определите, может ли AquaMoon сделать \(a\) равным \(b\) с помощью этих операций.

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

Первая строка содержит единственное целое число \(t\) (\(1 \leq t \leq 2\,000\)) — количество наборов входных данных. Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит два целых числа \(n\), \(m\) (\(1 \leq n,m \leq 50\), \(m \leq n\)) — длины \(a\) и \(b\) соответственно.

Вторая строка каждого набора входных данных содержит строку \(a\) длины \(n\), состоящую только из символов \(0\) и \(1\).

Третья строка каждого набора входных данных содержит строку \(b\) длины \(m\), состоящую только из символов \(0\) и \(1\).

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

Выведите «YES», если AquaMoon может изменить \(a\) на \(b\), используя эти операции; в противном случае выведите «NO».

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

Примечание

В первом наборе входных данных вы можете использовать Операцию 2 четыре раза, чтобы сделать \(a\) равным \(b\).

Во втором наборе входных данных вы можете использовать Операцию 1 четыре раза, чтобы сделать \(a\) равным \(b\).

В третьем наборе входных данных можно доказать, что как бы мы ни использовали операции, невозможно сделать \(a\) равным \(b\).

В четвертом наборе входных данных можно доказать, что как бы мы ни использовали операции, невозможно сделать \(a\) равным \(b\).

В пятом наборе входных данных вы можете использовать Операцию 2 три раза, чтобы \(a\) стало равным \(10101\), поэтому первый элемент \(a\) станет равен первому элементу \(b\), но можно доказать, что независимо от того, как действовать, элементы \(a\) со второго по пятый не могут быть такими же как в \(b\).


Примеры
Входные данныеВыходные данные
1 10
6 2
001001
11
6 2
110111
01
6 2
000001
11
6 2
111111
01
8 5
10000101
11010
7 4
1010001
1001
8 6
01010010
010010
8 4
01010101
1001
8 4
10101010
0110
7 5
1011100
11100
YES
YES
NO
NO
NO
YES
YES
NO
NO
YES

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

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