CF891A Pride
Description
You have an array $ a $ with length $ n $ , you can perform operations. Each operation is like this: choose two adjacent elements from $ a $ , say $ x $ and $ y $ , and replace one of them with $ gcd(x,y) $ , where $ gcd $ denotes the [greatest common divisor](https://en.wikipedia.org/wiki/Greatest_common_divisor).
What is the minimum number of operations you need to make all of the elements equal to $ 1 $ ?
Input Format
The first line of the input contains one integer $ n $ ( $ 1
Output Format
Print -1, if it is impossible to turn all numbers to $ 1 $ . Otherwise, print the minimum number of operations needed to make all numbers equal to $ 1 $ .
Explanation/Hint
In the first sample you can turn all numbers to $ 1 $ using the following $ 5 $ moves:
- $ [2,2,3,4,6] $ .
- $ [2,1,3,4,6] $
- $ [2,1,3,1,6] $
- $ [2,1,1,1,6] $
- $ [1,1,1,1,6] $
- $ [1,1,1,1,1] $
We can prove that in this case it is not possible to make all numbers one using less than $ 5 $ moves.