#ATagc016d. [AGC016D] XOR Replace

[AGC016D] XOR Replace

题目描述

有一个长度为 NN 的数列 a=(a1,a2,,aN)a = (a_1, a_2, \ldots, a_N),其中每个 aia_i 都是大于等于 00 的整数。

すぬけ君可以重复进行以下操作:

  • 计算 aa 所有元素的异或值 xx,然后选择一个整数 ii1iN1 \le i \le N),将 aia_i 替换成 xx

すぬけ君的目标是使 aa 变成数列 b=(b1,b2,,bN)b = (b_1, b_2, \ldots, b_N),其中每个 bib_i 也是大于等于 00 的整数。

请判断目标是否可以实现,若可以实现,输出所需操作次数的最小值,否则输出 1-1

输入格式

输入由标准输入按如下格式给出:

NN a1a_1 a2a_2 \ldots aNa_N b1b_1 b2b_2 \ldots bNb_N

输出格式

如果目标可以实现,输出所需的最小操作次数;否则输出 1-1

样例 1

输入

3
0 1 2
3 1 0

输出

2

样例 2

输入

3
0 1 2
0 1 2

输出

0

样例 3

输入

2
1 1
0 0

输出

-1

样例 4

输入

4
0 1 2 3
1 0 3 2

输出

5

说明/提示

限制条件

  • 2N1052 \le N \le 10^5
  • aia_ibib_i 都是整数。
  • 0ai,bi<2300 \le a_i, b_i < 2^{30}

样例解释 1

一开始,aa 所有元素的异或值是 33。选择 a1a_1 并将其替换为 33,此时 a=(3,1,2)a = (3, 1, 2)。接着 aa 的异或值为 00,选择 a3a_3 并将其替换为 00,此时 a=(3,1,0)a = (3, 1, 0),与 bb 一致。

由 ChatGPT 5 翻译