很久以前,Bajtmiła 奶奶(因问题 B 中的饺子而闻名)烤了一个蛋糕。她将其切成了 $2n$ 个矩形块(两行,每行 $n$ 块),并在每块蛋糕的顶部涂上了糖霜。她看着自己的杰作,大吃一惊:配色方案看起来简直太糟糕了。
Bajtmiła 决定需要将颜色配置更改为更好的方案。不幸的是,逐个更换蛋糕块的位置是不可能的:任何试图从蛋糕中取出一块的行为都会不可避免地导致其边缘碎裂。Bajtmiła 奶奶绝不会给客人端上一块看起来切得参差不齐的蛋糕!
幸运的是,Bajtmiła 有一把矩形抹刀,正好可以容纳四块蛋糕(两行,每行两块)。因此,她可以小心地取出这四块蛋糕,旋转抹刀,然后从对面插回去。我们可以将此操作正式描述为选取一个 $2 \times 2$ 的正方形并将其旋转 180 度。
回想起你在问题 B 中提供的快速高效的帮助,Bajtmiła 知道该怎么做:她要求你确定将初始糖霜配置转换为某种美观配置所需的最少操作次数。当然,你做了任何一个体面的人在你这个位置都会做的事:你说你无法提供帮助,因为这个问题定义不明确。Bajtmiła 预料到了这一点:她走到白板前,画了一个特定的美观配置,并要求你找到将她的初始糖霜配置更改为该特定配置所需的最少操作次数。
也有可能这位奶奶(在问题 B 中搬运完所有饺子后感到疲惫)弄错了,实际上根本无法获得所需的配置。在这种情况下,你也需要尽快通知她!
输入格式
输入的第一行包含测试用例的数量 $z$ ($1 \le z \le 10\,000$)。接下来是各测试用例的描述。
每个测试用例的第一行包含一个整数 $n$ ($2 \le n \le 500\,000$)。接下来的两行输入描述了初始糖霜配置的两行。每一行包含 $n$ 个范围在 $[1, 10^9]$ 内的整数,由空格分隔,代表后续蛋糕块上的糖霜颜色标识符。注意,一种颜色可能会出现多次。
接下来的两行以相同的格式描述了最终配置。
所有测试用例的 $n$ 之和不超过 $2\,000\,000$。
输出格式
对于每个测试用例,输出一个整数,表示达到最终配置所需的最少操作次数。如果无法达到预期的结果,则输出 $-1$。
样例
| 样例输入 | 样例输出 |
|---|---|
2 4 1 2 3 2 4 3 1 3 3 2 1 1 2 3 4 3 2 1 2 3 4 3 4 1 2 |
3 -1 |
说明
在第一个测试用例中,初始配置为:
1 2 3 2 4 3 1 3
我们可以通过三个步骤达到所需的配置: 1. 旋转最左侧的正方形,得到:
3 4 3 2 2 1 1 3
- 旋转最右侧的正方形,得到:
3 4 3 1 2 1 2 3
- 旋转中间的正方形,得到:
3 2 1 1 2 3 4 3
在第二个测试用例中,无法达到所需的配置。