Fun Game
Contest: Codeforces Round 959 sponsored by NEAR (Div. 1 + Div. 2)
Difficulty rating: 1100
Tags: bitmasks, constructive algorithms, greedy, math

Vova really loves the XOR operation (denoted as $$$\oplus$$$). Recently, when he was going to sleep, he came up with a fun game.

At the beginning of the game, Vova chooses two binary sequences $$$s$$$ and $$$t$$$ of length $$$n$$$ and gives them to Vanya. A binary sequence is a sequence consisting only of the numbers $$$0$$$ and $$$1$$$. Vanya can choose integers $$$l, r$$$ such that $$$1 \leq l \leq r \leq n$$$, and for all $$$l \leq i \leq r$$$ simultaneously replace $$$s_i$$$ with $$$s_i \oplus s_{i - l + 1}$$$, where $$$s_i$$$ is the $$$i$$$-th element of the sequence $$$s$$$.

In order for the game to be interesting, there must be a possibility to win. Vanya wins if, with an unlimited number of actions, he can obtain the sequence $$$t$$$ from the sequence $$$s$$$. Determine if the game will be interesting for the sequences $$$s$$$ and $$$t$$$.

Input format:
Each test consists of multiple test cases. The first line contains an integer $$$q$$$ ($$$1 \le q \le 10^{4}$$$) — the number of test cases. Then follows the description of the test cases.

The first line of each test case contains a single integer $$$n$$$ ($$$1 \leq n \leq 2 \cdot 10^5$$$) — the length of the sequences $$$s$$$ and $$$t$$$.

The second line of each test case contains a binary sequence $$$s$$$ of length $$$n$$$.

The third line of each test case contains a binary sequence $$$t$$$ of length $$$n$$$.

It is guaranteed that the sum of $$$n$$$ over all test cases does not exceed $$$2 \cdot 10^5$$$.

Output format:
For each test case, output "Yes" if the game will be interesting, otherwise output "No".

You can output each letter in any case (for example, the strings "yEs", "yes", "Yes", and "YES" will be recognized as a positive answer).

Constraints:
Time limit: 1.0 s
Memory limit: 256.0 MB

Note:
In the first test case, Vanya will not be able to change the sequence $$$s$$$ with the only possible action of choosing $$$l = r = 1$$$.

In the second test case, the sequences $$$s$$$ and $$$t$$$ are already equal.

In the third test case, Vanya can act as follows:

1. Choose $$$l = 3$$$ and $$$r = 5$$$, then $$$s$$$ will become $$$\mathtt{101101010}$$$.
2. Choose $$$l = 5$$$ and $$$r = 6$$$, then $$$s$$$ will become $$$\mathtt{101111010}$$$.
3. Choose $$$l = 7$$$ and $$$r = 7$$$, then $$$s$$$ will become $$$\mathtt{101111110}$$$.

Example input:
6
1
0
1
7
0110100
0110100
9
100101010
101111110
4
0011
1011
4
0100
0001
8
10110111
01100000

Example output:
NO
YES
YES
NO
YES
YES

Editorial:
If the string $$$s$$$ consists entirely of $$$0$$$, then obviously no other string can be obtained from it, so the answer is "Yes" only if $$$s = t$$$.
Otherwise, let $$$i$$$ — the index of the first $$$1$$$ in $$$s$$$. Note that if there is at least one $$$1$$$ in $$$t$$$ at positions $$$[1; i)$$$, then the answer is "No", since $$$s$$$ has $$$0$$$ at these positions, so some of them must be changed to $$$1$$$. However, when applying the operation the first $$$1$$$ from position $$$i$$$ can change bits only at positions greater than or equal to $$$i$$$, i.e. it will not be possible to change $$$0$$$ at positions before $$$i$$$.
If there is only $$$0$$$ at positions $$$[1; i)$$$ in $$$t$$$, then it is possible to change any bit on the segment $$$[i; n]$$$ in $$$s$$$ to any other bit by choosing segments of length $$$i$$$ and acting from the end, i.e. the answer is "Yes".