import
java.util.*;
class
GFG{
static
int
__gcd(
int
a,
int
b)
{
if
(a ==
0
)
return
b;
if
(b ==
0
)
return
a;
if
(a == b)
return
a;
if
(a > b)
return
__gcd(a - b, b);
return
__gcd(a, b - a);
}
static
int
gcdofarray(
int
arr[],
int
start,
int
N)
{
int
result = arr[start];
for
(
int
i = start +
2
; i < N; i +=
2
)
result = __gcd(arr[i], result);
return
result;
}
static
boolean
check(
int
arr[],
int
start,
int
gcd,
int
N)
{
for
(
int
i = start; i < N; i +=
2
)
{
if
(arr[i] % gcd ==
0
)
{
return
false
;
}
}
return
true
;
}
static
void
find_divisor(
int
arr[],
int
N)
{
int
gcd1 = gcdofarray(arr,
1
, N);
int
gcd2 = gcdofarray(arr,
0
, N);
if
(gcd1 != gcd2)
{
if
(check(arr,
0
, gcd1, N))
{
int
x = gcd1;
System.out.println(x);
return
;
}
if
(check(arr,
1
, gcd2, N))
{
int
x = gcd2;
System.out.println(x);
return
;
}
}
System.out.print(-
1
);
}
public
static
void
main(String args[])
{
int
arr[] = {
6
,
5
,
9
,
10
,
12
,
15
};
int
N = arr.length;
find_divisor(arr, N);
}
}