#CF1906B. 按钮按压

按钮按压

B. 按钮按压

时间限制:$1$ 秒

内存限制:$1024$ MB

给定 NN 个按钮(编号为 11NN)和 NN 盏灯(编号为 11NN)。每盏灯要么处于亮着状态,要么处于熄灭状态。初始时,当 Ai=1A_i=1 时,第 ii 盏灯亮;当 Ai=0A_i=0 时,第 ii 盏灯灭。

按钮 ii 与灯 i1i-1 相连(当 i>1i>1 时)以及与灯 i+1i+1 相连(当 i<Ni<N 时)。

在一次操作中,只有当第 ii 盏灯当前是亮着的时候,才可以按下按钮 ii。当按钮被按下时,与该按钮相连的灯的状态会被翻转。也就是说:

  • 如果某盏相连的灯原来是灭的,那么它会变亮;
  • 如果某盏相连的灯原来是亮的,那么它会变灭。

注意,第 ii 盏灯并不与按钮 ii 相连,因此按下按钮 ii 时,第 ii 盏灯的状态不会发生变化。

经过若干次操作(也可以一次都不操作)后,你希望第 ii 盏灯在且仅在 Bi=1B_i=1 时亮着,在且仅在 Bi=0B_i=0 时熄灭。请判断是否可以做到。

输入格式

本题有多组测试数据。

第一行包含一个整数 TT1T10001 \le T \le 1000),表示测试数据组数。

对于每组测试数据:

第一行包含一个整数 NN3N2000003 \le N \le 200000)。

第二行包含一个长度为 NN 的字符串 AA,其中每个字符都是 01。第 ii 个字符表示第 ii 盏灯的初始状态。

第三行包含一个长度为 NN 的字符串 BB,其中每个字符都是 01。第 ii 个字符表示第 ii 盏灯的目标状态。

保证所有测试数据中 NN 的总和不超过 200000200000

输出格式

对于每组测试数据,如果可以通过若干次操作达到目标状态,输出 YES;否则输出 NO

样例输入 1

2
4
0101
0100
3
000
010

样例输出 1

YES
NO

样例输入 2

5
7
0101011
1111010
5
11111
00000
4
1101
1101
6
101010
100100
3
000
000

样例输出 2

NO
NO
YES
YES
YES

说明

对于第一组样例输入中的第一组测试数据,可以依次按下按钮 4,2,4,3,1,24,2,4,3,1,2。此时灯的状态变化如下:

0101 -> 0111 -> 1101 -> 1111 -> 1010 -> 1110 -> 0100

对于第一组样例输入中的第二组测试数据,一开始无法按下任何按钮,因此不可能到达目标状态。