Problem:
Score : 800 points

Problem Statement

You are given a polynomial of degree N with integer coefficients: f(x)=a_Nx^N+a_{N-1}x^{N-1}+...+a_0. Find all prime numbers p that divide f(x) for every integer x.

Constraints

0 \leq N \leq 10^4

|a_i| \leq 10^9(0\leq i\leq N)

a_N \neq 0

All values in input are integers.

Input

Input is given from Standard Input in the following format:

N
a_N
:
a_0

Output

Print all prime numbers p that divide f(x) for every integer x, in ascending order.

Sample Input 1

2
7
-7
14

Sample Output 1

2
7

2 and 7 divide, for example, f(1)=14 and f(2)=28.

Sample Input 2

3
1
4
1
5

Sample Output 2

There may be no integers that satisfy the condition.

Sample Input 3

0
998244353

Sample Output 3

998244353

Solution in Ruby (2.3.3) (judge verdict: Runtime Error)

require 'prime'
N=gets.to_i
A=(N+1).times.map{gets.to_i}
f = lambda{|x| (0..N).step(2).inject(0){|memo,i| memo+A[i]*x**(N-i)}}
g = lambda{|x| (1..N).step(2).inject(0){|memo,i| memo+A[i]*x**(N-i)}}
ps= (1..(N/2)).inject(f[0]+g[0]){|memo,i|gi=g[i];memo.gcd((f[i]+gi).gcd(gi*2))}
ps.prime_division.each{|k,i|p k}