SZ-TG-038. [洛谷 P3498] [POI 2010] KOR-Beads

提交1 通过1
通过率100%
时间限制2000ms
内存限制32MiB

题目描述

题目描述

Byteasar决定制造一条项链,她买了一串珠子,她有一个机器,能把这条珠子切成很多段,使得每段恰有k个珠子(k>0),如果这条珠子的长度不是k的倍数,最后一块长度小于k的段就被丢弃了。 Byteasar想知道,选择什么数字k可以得到最多的不同的段。注意这里的段是可以反转的,即,子串1,2,3和3,2,1被认为是一样的。

输入描述

第一行一个正整数n,表示珠子的长度。 第二行n个空格隔开的正整数a1,a2,⋯ana_1,a_2, \cdots a_n,描述这一串珠子的颜色。

输出描述

第一行两个空格隔开的正整数,第一个表示能获得的最大不同的段的个数,第二个表示能获得最大值的k的个数。 第二行若干空格隔开的正整数k,表示所有能够取得最大值的k,请将k按照从小到大的顺序输出。

示例1

输入

21
1 1 1 2 2 2 3 3 3 1 2 3 3 1 2 2 1 3 3 2 1

输出

6 1
2

备注

数据范围

对于100%100 \%的数据,1≤n≤2×1051 \le n \le 2 \times 10^5,且∀1≤i≤n\forall 1 \le i \le n,有1≤ai≤n1 \le a_i \le n。