Contest Duration: - (local time) (110 minutes) Back to Home
D - XOR Replace /

Time Limit: 2 sec / Memory Limit: 256 MB

問題文

すぬけ君は次の操作を繰り返し行うことができます。

• a のすべての要素の XOR を x とする。 整数 i (1 ≤ i ≤ N) をひとつ選び、a_ix に置き換える。

すぬけ君の目標は、a を数列 b = (b_1, b_2, ..., b_N) に一致させることです。 ただし、各 b_i0 以上の整数です。

制約

• 2 ≤ N ≤ 10^5
• a_i, b_i は整数である。
• 0 ≤ a_i, b_i < 2^{30}

入力

N
a_1 a_2 ... a_N
b_1 b_2 ... b_N


入力例 1

3
0 1 2
3 1 0


出力例 1

2


入力例 2

3
0 1 2
0 1 2


出力例 2

0


入力例 3

2
1 1
0 0


出力例 3

-1


入力例 4

4
0 1 2 3
1 0 3 2


出力例 4

5


Score : 1000 points

Problem Statement

There is a sequence of length N: a = (a_1, a_2, ..., a_N). Here, each a_i is a non-negative integer.

Snuke can repeatedly perform the following operation:

• Let the XOR of all the elements in a be x. Select an integer i (1 ≤ i ≤ N) and replace a_i with x.

Snuke's objective is to match a with another sequence b = (b_1, b_2, ..., b_N). Here, each b_i is a non-negative integer.

Determine whether the objective is achievable, and find the minimum necessary number of operations if the answer is positive.

Constraints

• 2 ≤ N ≤ 10^5
• a_i and b_i are integers.
• 0 ≤ a_i, b_i < 2^{30}

Input

Input is given from Standard Input in the following format:

N
a_1 a_2 ... a_N
b_1 b_2 ... b_N


Output

If the objective is achievable, print the minimum necessary number of operations. Otherwise, print -1 instead.

Sample Input 1

3
0 1 2
3 1 0


Sample Output 1

2


At first, the XOR of all the elements of a is 3. If we replace a_1 with 3, a becomes (3, 1, 2).

Now, the XOR of all the elements of a is 0. If we replace a_3 with 0, a becomes (3, 1, 0), which matches b.

Sample Input 2

3
0 1 2
0 1 2


Sample Output 2

0


Sample Input 3

2
1 1
0 0


Sample Output 3

-1


Sample Input 4

4
0 1 2 3
1 0 3 2


Sample Output 4

5