编程题
### 问题描述
给定一个长度为 $n$ 的整数数组 $A$,$A$ 中第 $i$ 个元素为 $A_i$($1 \leq i \leq n$),你可以进行任意次操作,每次操作可选择 $A$ 中的任意元素 $A_j$($1 \leq j < n$),将 $A_j-A_{j+1}$ 代替 $A_j$,将 $A_j+A_{j+1}$ 代替 $A_{j+1}$(两次代替同时进行),请问你最后是否可以使得 $\gcd(A_1,A_2,...A_n) >1$。如果可以,输出最小操作次数,否则输出 $-1$。
注意:$\gcd$ 为最大公约数函数,另外,两个数的最大公约数等于这两个数分别取绝对值后的最大公约数。
### 输入格式
输入共 $2$ 行。
第一行包含一个整数 $n$,表示整数数列 $A$ 中元素的个数。
第二行包含 $n$ 个整数,表示整数数列 $A$ 中各元素的值。
### 输出格式
输出共一行,包含一个整数,表示使得 $\gcd(A_1,A_2...A_n)>1$ 的最小操作次数,
### 样例输入
```
3
2 1 4
```
### 样例输出
```
2
```
### 样例解释
第 $1$ 次取 $j=2$,$A$ 变为 $\lbrace 2,-3,5 \rbrace$。
第 $2$ 次取 $j=2$,$A$ 变为 $\lbrace 2,-8,2 \rbrace$。
至此 $\gcd(A_1,A_2,A_3)=2$,所以答案为 $2$。
### 评测数据规模
对于所有评测数据,$2 \leq n \leq 10^5$,$1 \leq A_i \leq 10^9$。