#1246. 龙神的魔法水晶

龙神的魔法水晶

背景

在魔法大陆上,有 n 颗魔法水晶排成一列。每颗水晶有两种状态:发光(用 1 表示)或暗淡(用 0 表示)。

大法师龙神掌握两种古老的咒语,可以改变连续三颗水晶的状态:

1. 如果三颗水晶的状态依次是 001,可以念咒将其变为 100;反之,若当前是 100,也可以念反向咒语变回 001。

2. 如果三颗水晶的状态依次是 110,可以念咒将其变为 011;反之,若当前是 011,也可以变回 110。

现在给定初始状态串 a 和目标状态串 b,请你判断能否通过有限次施法(每次选择任意连续的三颗水晶,若

状态匹配上述四种模式之一,则可进行对应变换)将 a 变为 b

输入

第一行包含一个整数 t ( 1≤t≤1e4)--测试用例数。( 1≤t≤104 )

每个测试用例的第一行包含一个整数 n ( 1≤n≤2e5 ) - 每个字符串的长度。

每个测试用例的第二行包含一个二进制字符串 a ( |a|=n ),表示初始状态。

每个测试用例的第三行包含一个二进制字符串 b ( |b|=n ),表示目标状态。

保证所有测试用例中 n 的总和不超过 2e5。

输出

对于每个测试用例,如果可以通过有限次操作从 aa 得到 bb,输出 YES,否则输出 NO。

样例

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

Limitation

1s, 1024KiB for each test case.