简单变换题
题号:NC311954
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给出两个长度为 n,仅由字符 \texttt{`0'}\texttt{`1'} 组成的 01 字符串 s,t
\hspace{15pt}定义一次变换为选择 s 中两个相邻的位置 x,x+1 \left(1\le x< n\right),将 s_xs_{x+1} 同时变为 \left(s_x+s_{x+1}\right)\bmod 2
\hspace{15pt}请问能否经过若干次变换(可以不操作)将 s 变为 t,可以输出 \texttt{YES},不能输出 \texttt{NO}

【名词解释】
\hspace{15pt}\bmod:代表取模运算。例如,5 除以 3 的余数为 2,因此式子 5 \bmod 3 的值为 2

输入描述:

\hspace{15pt}第一行输入一个整数 n \left(1\le n\le 10^7\right),表示字符串长度。
\hspace{15pt}第二行输入一个长度为 n 的 01 字符串,表示 s
\hspace{15pt}第三行输入一个长度为 n 的 01 字符串,表示 t

输出描述:

\hspace{15pt}如果可以将 s 变为 t,则输出 \texttt{YES},否则输出 \texttt{NO}
示例1

输入

复制
2
01
00

输出

复制
YES
示例2

输入

复制
4
1110
0001

输出

复制
YES
示例3

输入

复制
2
11
10

输出

复制
NO

备注: