Chiaki 有一个序列 $s_1, s_2, \dots, s_n$。她想通过以下操作将其变为另一个序列 $t_1, t_2, \dots, t_n$:
- 选择两个下标 $l$ 和 $r$ ($l \le r$),将下标 $l$ 到 $r$(包含两端)之间的每一个非零元素加 1。
- 选择两个下标 $l$ 和 $r$ ($l \le r$),将下标 $l$ 到 $r$(包含两端)之间的每一个非零元素减 1。
Chiaki 想知道所需的最少操作次数。
输入格式
输入包含多组测试数据。第一行包含一个整数 $T$,表示测试数据的组数。对于每组测试数据:
第一行包含一个整数 $n$ ($1 \le n \le 10^5$),表示序列的长度。 第二行包含 $n$ 个整数 $s_1, s_2, \dots, s_n$ ($0 \le s_i \le 10^9$)。 第三行包含 $n$ 个整数 $t_1, t_2, \dots, t_n$ ($0 \le t_i \le 10^9$)。
保证所有测试数据的 $n$ 之和不超过 $10^6$。
输出格式
对于每组测试数据,输出一个整数,表示所需的最少操作次数。如果无法将序列进行转换,则输出 $-1$。
样例
样例输入 1
2 5 1 1 1 1 1 2 0 2 0 2 7 3 1 2 3 2 1 4 2 0 0 0 0 0 2
样例输出 1
3 3
说明
对于第一组测试数据:$\{1, 1, 1, 1, 1\} \xrightarrow{[2,2], -1} \{1, 0, 1, 1, 1\} \xrightarrow{[4,4], -1} \{1, 0, 1, 0, 1\} \xrightarrow{[1,5], +1} \{2, 0, 2, 0, 2\}$。