Problem2096--同余

2096: 同余

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 169  Solved: 57
[Status] [Submit] [Creator:]

Description

给定 n 个整数,你要找到一个大于 1 的整数 k,使得这 n 个数除以 k 的余数都相等。如果存在多个满足条件的 k,输出最小的那个。

Input

输入的第一行包含一个整数 n(1 ≤ n ≤ 1000)。
输入的第二行包含 n 个整数,两两之间以一个空格分隔,每个整数均为不超过 1000 的正整数。

Output

输出最小的满足条件的 k。
如果这样的 k 一个都不存在,输出 -1 。

Sample Input Copy

5
7 10 4 19 16

Sample Output Copy

3

HINT

【样例解释】
7 ÷ 3 = 2 …… 1
10 ÷ 3 = 3 …… 1
4 ÷ 3 = 1 …… 1
19 ÷ 3 = 6 …… 1
16 ÷ 3 = 5 …… 1

【数据规模与约定】
设 A 为 n 个正整数的最大值,则:
· 对于 30% 的数据,1 ≤ n ≤ 10, A ≤ 10
· 对于 60% 的数据,1 ≤ n ≤ 100, A ≤ 100
· 对于 100% 的数据,1 ≤ n ≤ 1000, A ≤ 1000

Source/Category