小 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
提示
- 30%: 1≤n≤30,1≤ai≤32.
- 60%: 1≤n≤3000,1≤ai≤1024.
- 80%: 1≤n≤300000,1≤ai≤1048576.
- 100%: 1≤n≤500000,1≤ai<231.