C1. Marenol (простая версия)
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

Это простая версия задачи. В этой версии требуется только определить, можно ли преобразовать строку $$$a$$$ в строку $$$b$$$.

Юсеф дал вам две двоичные строки, $$$a$$$ и $$$b$$$, одинаковой длины $$$n$$$.

Вам разрешено выполнять любые из следующих операций:

  • Выбрать подстроку$$$^{\text{∗}}$$$ в $$$a$$$, равную $$$\texttt{001}$$$, и заменить её на $$$\texttt{100}$$$ или наоборот (то есть $$$\texttt{001} \rightarrow \texttt{100}$$$ или $$$\texttt{100} \rightarrow \texttt{001}$$$).
  • Выбрать подстроку в $$$a$$$, равную $$$\texttt{110}$$$, и заменить её на $$$\texttt{011}$$$ или наоборот (то есть $$$\texttt{011} \rightarrow \texttt{110}$$$ или $$$\texttt{110} \rightarrow \texttt{011}$$$).

Ваша задача — определить, можно ли преобразовать строку $$$a$$$ в строку $$$b$$$, выполнив конечное число операций.

$$$^{\text{∗}}$$$Строка $$$a$$$ является подстрокой строки $$$b$$$, если $$$a$$$ можно получить из $$$b$$$ удалением нескольких (возможно, нуля или всех) символов с начала и нескольких (возможно, нуля или всех) символов с конца.

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

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

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

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

Третья строка каждого набора входных данных содержит двоичную строку $$$b$$$ ($$$|b| = n$$$), состоящую только из символов $$$\texttt{0}$$$ и/или $$$\texttt{1}$$$.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превышает $$$2 \cdot 10^5$$$.

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

Для каждого набора входных данных выведите «YES», если строку $$$a$$$ можно преобразовать в строку $$$b$$$, выполнив конечное число операций, и «NO» в противном случае.

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

Пример
Входные данные
9
1
0
0
2
01
10
3
001
100
4
1010
0101
4
1100
1000
5
01001
10010
6
110000
000011
6
111000
000111
7
1001100
0000111
Выходные данные
YES
NO
YES
NO
NO
YES
YES
NO
YES
Примечание

В первом наборе входных данных уже выполняется $$$a = b$$$. Поэтому ответ — YES.

Во втором наборе входных данных нельзя выполнить ни одной операции. Поскольку $$$a \neq b$$$, ответ — NO.

В третьем наборе входных данных можно выбрать подстроку $$$a[1, 3] = \texttt{001}$$$ и заменить её на $$$\texttt{100}$$$, получив $$$a = b$$$. Поэтому ответ — YES.

В седьмом наборе входных данных можно последовательно сделать следующее:

  • $$$\texttt{1}$$$$$${\color{blue}{\texttt{100}}}$$$$$$\texttt{00}$$$ $$$\rightarrow$$$ $$$\texttt{1}$$$$$${\color{blue}{\texttt{001}}}$$$$$$\texttt{00}$$$
  • $$$\texttt{100}$$$$$${\color{blue}{\texttt{100}}}$$$ $$$\rightarrow$$$ $$$\texttt{100}$$$$$${\color{blue}{\texttt{001}}}$$$
  • $$${\color{blue}{\texttt{100}}}$$$$$$\texttt{001}$$$ $$$\rightarrow$$$ $$${\color{blue}{\texttt{001}}}$$$$$$\texttt{001}$$$
  • $$$\texttt{00}$$$$$${\color{blue}{\texttt{100}}}$$$$$$\texttt{1}$$$ $$$\rightarrow$$$ $$$\texttt{00}$$$$$${\color{blue}{\texttt{001}}}$$$$$$\texttt{1}$$$

Следовательно, ответ — YES.