AT_bitflyer2018_final_d 数列 XOR

Description

[problemUrl]: https://atcoder.jp/contests/bitflyer2018-final/tasks/bitflyer2018_final_d 長さ $ N $ の $ 2 $ つの整数列 $ (A_1,\ A_2,\ ...,\ A_N) $, $ (B_1,\ B_2,\ ...,\ B_N) $ があります. あなたは,数列 $ A $ に対して次の操作を繰り返し行うことができます: - 整数 $ i $ ($ 1\ \leq\ i\ \leq\ N-1) $ を選ぶ.そして,$ A_i $ を $ A_i $ $ xor $ $ A_{i+1} $ に置き換えるか,$ A_{i+1} $ を $ A_i $ $ xor $ $ A_{i+1} $ に置き換えるかのいずれかを行う. ただし,$ xor $ はビットごとの排他的論理和を表します. この操作を繰り返すことで,$ A $ と $ B $ を一致させることができるかを判定してください.

Input Format

入力は以下の形式で標準入力から与えられる。 > $ N $ $ A_1 $ $ A_2 $ ... $ A_N $ $ B_1 $ $ B_2 $ ... $ B_N $

Output Format

問題文中の操作の繰り返しで,$ A $ と $ B $ を一致させることができるなら `Yes` を,できないなら `No` を出力せよ.

Explanation/Hint

### 制約 - $ 1\ \leq\ N\ \leq\ 100000 $ - $ A_i,\ B_i $ は整数 - $ 0\ \leq\ A_i\ \leq\ 2^{60}\ -\ 1 $ - $ 0\ \leq\ B_i\ \leq\ 2^{60}\ -\ 1 $ ### Sample Explanation 1 はじめ,$ A $ は $ (4,\ 6,\ 1,\ 2) $ です. - $ i=2 $ を選んで,$ A_2 $ を $ A_2 $ $ xor $ $ A_3 $ で置き換えると,$ A $ は $ (4,\ 7,\ 1,\ 2) $ になります. - $ i=1 $ を選んで,$ A_2 $ を $ A_1 $ $ xor $ $ A_2 $ で置き換えると,$ A $ は $ (4,\ 3,\ 1,\ 2) $ になります. - $ i=3 $ を選んで,$ A_3 $ を $ A_3 $ $ xor $ $ A_4 $ で置き換えると,$ A $ は $ (4,\ 3,\ 3,\ 2) $ になります. - $ i=2 $ を選んで,$ A_2 $ を $ A_2 $ $ xor $ $ A_3 $ で置き換えると,$ A $ は $ (4,\ 0,\ 3,\ 2) $ になります. よって,$ A $ と $ B $ を一致させることができます. ### Sample Explanation 2 どのように操作をしても,$ A $ と $ B $ を一致させることはできません.