Problem: Oz has a list arr[] of M integers. He has to find all integers K such that :

1) K > 1
2) arr[1]%K = arr[2]%K = arr[3]%K = ... = arr[M]%K where '%' is a modulus operator

Help Oz to find all such K's.

Input :
First line of input contains an integer M. Then M lines follow each containing one integer of the list. Input data is such that at least one integer K will always exist. 

Output :
Output all possible integers K separated by space in increasing order.

Constraints :
 - 2 ≤ M ≤100
 - 1< value of each integer <10^9
 - All integers will be distinct

SAMPLE INPUT
3
38
6
34

SAMPLE OUTPUT
2 4

Solution (in PYTHON):

Solution:
from math import sqrt

def check_k(ls, k):
	v = ls[0] % k
	for item in ls:
		if item % k != v:
			return False
			
	return True

M = int(raw_input())

l = []
for _ in xrange(M):
    l.append(int(raw_input()))

p = l[0] - l[1]
if p < 0:
    p = -p

ks = []    
for d in xrange(1, int(sqrt(p) + 1)):
    if p % d == 0:
        M1 = d
        M2 = p/d
        if check_k(l, M1) and M1 != 1:
            ks.append(M1)
        if check_k(l, M2) and M2 != M1:
            ks.append(M2)
            
ks = sorted(ks)

for key in ks:
    print key,