#CF2119E1. 与约束

与约束

E. 与约束

每次测试时间限制:2 秒
内存限制:256 MB

wowaka & Hatsune Miku - Tosenbo


你有一个长度为 n1n-1 的序列 aa 和一个长度为 nn 的序列 bb

你可以执行以下操作任意次(可能为零次):

  • 选择一个下标 1in1 \le i \le n,将 bib_i 增加 11(即 bibi+1b_i \leftarrow b_i + 1)。

你的目标是用最少的操作次数使得对于每一个 1in11 \le i \le n-1,条件 bi & bi+1=aib_i \ \&\ b_{i+1} = a_i 成立,其中 &\& 表示按位与运算。
如果无法满足条件,则报告这一点。


输入
每个测试点包含多个测试用例。第一行包含测试用例数 tt1t1041 \le t \le 10^4)。接下来是每个测试用例的描述。

每个测试用例的第一行包含一个整数 nn2n1052 \le n \le 10^5)。
第二行包含 n1n-1 个整数 a1,a2,,an1a_1, a_2, \dots, a_{n-1}0ai<2290 \le a_i < 2^{29})。
第三行包含 nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n0bi<2290 \le b_i < 2^{29})。

保证所有测试用例的 nn 之和不超过 2×1052 \times 10^5


输出
对于每个测试用例,你需要输出一个整数:

  • 如果可以达到目标,输出所需的最少操作次数。
  • 否则输出 1-1

样例输入

7
4
1 4 4
1 2 3 4
4
4 0 4
1 1 1 1
2
1
0 0
3
1 1
0 1 2
6
1 2 3 4 5
1 1 4 5 1 4
2
0
0 0
4
0 1 0
536870911 536870911 536870911 536870911

样例输出

4
-1
2
2
-1
0
536870916

注意

  • 在第一个测试用例中,最优策略之一是用 44 次操作将 bb 变成 [1,5,4,4][1,5,4,4],满足所有条件。可以证明少于 44 次操作是不可能的。
  • 在第二个测试用例中,由于 b1&b2=4b_1 \& b_2 = 4b2&b3=0b_2 \& b_3 = 0,则 b3&4=0b_3 \& 4 = 0。但我们需要 b3&b4=4b_3 \& b_4 = 4,因此不可能满足所有条件。