山脉

对于序列 a1,a2,,ana_1 , a_2 , \dots , a_n ,若它的子段 al,al+1,,ara_l , a_{l + 1} , \dots , a_r , 如果存在 mid[l+1,r1]mid \in [l + 1, r - 1] ,使得 al,al+1,,amida_l , a_{l + 1} , \dots , a_{mid} 是不减的, amid,amid+1,,ara_{mid} , a_{mid + 1} , \dots , a_r 是不增的,且 rl+13r - l + 1 \geq 3 , 就称这个子段是山型的。

若对于整数 kk (3kn)(3 \leq k \leq n) , 若子段 [1,k][1 , k] , [k+1,2k][k + 1 , 2k] , \dots , [(m1)k+1,mk][(m - 1)k + 1,mk][mk+1,n][mk + 1 , n] 都是山型的,且 mkn,nmk<kmk \leq n , n - mk < k , 我们就称序列 aa 是一个山脉。

现在给定一个正整数序列 aa , 其中值为 1-1 的数可以表示任何数,请你找出所有使得该序列为山脉的整数 kk

输入格式

第一行输入一个整数 n n , 表示序列的长度 (1n105) ( 1 \leq n \leq 10^5 )

第二行输入 n n 个整数 a1,a2,a3,,an a_1 , a_2 , a_3 , \dots , a_n 表示给定的序列 。 (1ai109 或 ai=1) ( 1 \leq a_i \leq 10^9 \ 或 \ a_i = -1 )

输出格式

第一行一个整数 mm , 表示满足要求的 kk 的数量。

接下来 mm 行,每行一个整数,从小到大输出所有满足要求的 kk

样例输入

11
7 -1 11 10 -1 -1 26 14 9 12 -1 

样例输出

1
4