Simon有一个由a1, a2, ..., an组成的数组,包含n个正整数。今天Simon要求你找到一对整数l, r (1 ≤ l ≤ r ≤ n),使得满足以下条件:
存在整数j(l ≤ j ≤ r),使得所有整数al, al + 1, ..., ar都能被aj整除;
值r - l在所有满足条件1的整数对中取得最大值;
帮助Simon找到所需的数对(l, r)。如果存在多个所需的数对,则找出所有。
输入
第一行包含整数n(1 ≤ n ≤ 3·105)。
第二行包含n个以空格分隔的整数a1, a2, ..., an (1 ≤ ai ≤ 106)。
输出
在第一行打印两个整数 — 所需数对的数量和r - l的最大值。在接下来的一行中,按升序打印所有最佳数对中的l值。
示例1
Inputcopy
5
4 6 9 3 6
Outputcopy
1 3
2
示例2
Inputcopy
5
1 3 5 7 9
Outputcopy
1 4
1
示例3
Inputcopy
5
2 3 5 7 11
Outputcopy
5 0
1 2 3 4 5
注意
在第一个示例中,数对是正确的,因为数6, 9, 3能被3整除。
在第二个示例中,所有数都能被数1整除。
在第三个示例中,所有数都是质数,因此条件1和2仅对数对(1, 1),(2, 2),(3, 3),(4, 4),(5, 5)成立。