T3:
限制
文件
pair
小 H 是个善于思考的学生,现在她又在思考一个有关序列的问题。
她的面前浮现出一个长度为 n 的序列 {ai},她想找出一段区间 [L,R](1≤L≤R≤n)。
这个特殊区间满足,存在一个 k(L≤k≤R),并且对于任意的 i(L≤i≤R),ai 都能被 ak 整除。这样的一个特殊区间 [L,R] 价值为 R−L。
小H想知道序列中所有特殊区间的最大价值是多少,而有多少个这样的区间呢?这些区间又分别是哪些呢?你能帮助她吧。
输入格式
第一行,一个整数 n。
第二行,n 个整数,代表 ai。
输出格式
第一行两个整数,num 和 val,表示价值最大的特殊区间的个数以及最大价值。
第二行 num 个整数,按升序输出每个价值最大的特殊区间的 L。
样例输入 1
5
4 6 9 3 6
样例输出 1
1 3
2
样例输入 2
5
2 3 5 7 11
样例输出 2
5 0
1 2 3 4 5
数据范围
30%:n≤30,ai≤32。
40%:n≤3000,ai≤1024。
60%:n≤300000,ai≤1048576。
100%:n≤500000,ai<231。