CF1043B Lost Array
Description
Bajtek, known for his unusual gifts, recently got an integer array $ x_0, x_1, \ldots, x_{k-1} $ .
Unfortunately, after a huge array-party with his extraordinary friends, he realized that he'd lost it. After hours spent on searching for a new toy, Bajtek found on the arrays producer's website another array $ a $ of length $ n + 1 $ . As a formal description of $ a $ says, $ a_0 = 0 $ and for all other $ i $ ( $ 1 \le i \le n $ ) $ a_i = x_{(i-1)\bmod k} + a_{i-1} $ , where $ p \bmod q $ denotes the remainder of division $ p $ by $ q $ .
For example, if the $ x = [1, 2, 3] $ and $ n = 5 $ , then:
- $ a_0 = 0 $ ,
- $ a_1 = x_{0\bmod 3}+a_0=x_0+0=1 $ ,
- $ a_2 = x_{1\bmod 3}+a_1=x_1+1=3 $ ,
- $ a_3 = x_{2\bmod 3}+a_2=x_2+3=6 $ ,
- $ a_4 = x_{3\bmod 3}+a_3=x_0+6=7 $ ,
- $ a_5 = x_{4\bmod 3}+a_4=x_1+7=9 $ .
So, if the $ x = [1, 2, 3] $ and $ n = 5 $ , then $ a = [0, 1, 3, 6, 7, 9] $ .
Now the boy hopes that he will be able to restore $ x $ from $ a $ ! Knowing that $ 1 \le k \le n $ , help him and find all possible values of $ k $ — possible lengths of the lost array.
Input Format
The first line contains exactly one integer $ n $ ( $ 1 \le n \le 1000 $ ) — the length of the array $ a $ , excluding the element $ a_0 $ .
The second line contains $ n $ integers $ a_1, a_2, \ldots, a_n $ ( $ 1 \le a_i \le 10^6 $ ).
Note that $ a_0 $ is always $ 0 $ and is not given in the input.
Output Format
The first line of the output should contain one integer $ l $ denoting the number of correct lengths of the lost array.
The second line of the output should contain $ l $ integers — possible lengths of the lost array in increasing order.
Explanation/Hint
In the first example, any $ k $ is suitable, since $ a $ is an arithmetic progression.
Possible arrays $ x $ :
- $ [1] $
- $ [1, 1] $
- $ [1, 1, 1] $
- $ [1, 1, 1, 1] $
- $ [1, 1, 1, 1, 1] $
In the second example, Bajtek's array can have three or five elements.
Possible arrays $ x $ :
- $ [1, 2, 2] $
- $ [1, 2, 2, 1, 2] $
For example, $ k = 4 $ is bad, since it leads to $ 6 + x_0 = 8 $ and $ 0 + x_0 = 1 $ , which is an obvious contradiction.
In the third example, only $ k = n $ is good.
Array $ [1, 4, -2] $ satisfies the requirements.
Note that $ x_i $ may be negative.