编程题
### 问题描述
现在有两个序列 $a$ 和 $b$,每个序列都分别包含 $n$ 个非负整数 $a_1,a_2,...,a_n$ 和 $b_1,b_2,...,b_n$。现在需要将 $a$ 序列通过一系列操作变成 $b$ 序列,具体操作如下:
选定任意一个**固定的**非负整数 $k$,每次可以对序列 $a$ 中任意一个元素 $a_i$ 进行无限次的减 $k$ 或者加 $k$ 操作。
问:最少经过多少次上述操作,可以将 $a$ 序列变为 $b$ 序列。请输出这个最少次数;如果不能,请输出 $-1$。
### 输入格式
输入第 $1$ 行包含一个正整数 $n$ 。
输入第 $2$ 行每行包含 $n$ 个非负整数 $a_i$。
输入第 $3$ 行每行包含 $n$ 个非负整数 $b_i$。
### 输出格式
输出一行,这一行只包含一个整数,表示答案;如果不能通过上述操作将 $a$ 序列变为 $b$ 序列,请输出 $-1$。
### 样例输入1
```
3
5 10 15
10 15 20
```
### 样例输出1
```
3
```
### 样例输入2
```
3
1 2 3
1 2 3
```
### 样例输出2
```
0
```
### 说明/提示
对于所有评测数据,$1\leq n\leq 10^5,0\leq a_i,b_i\leq 10^9$。
样例 $1$ 中,可以选择操作数 $k=5$,那么可得:$a_1+k=b_1,a_2+k=b_2,a_3+k=b_3$,经过验证,$3$ 次操作为最佳答案。
样例 $2$ 中,$a$ 序列和 $b$ 序列完全相同,因此无需进行任何操作,答案 $=0$。