2741: 「一本通 2.1 练习 5」Beads

Memory Limit:64 MB Time Limit:2 S
Judge Style:Text Compare Creator:
Submit:47 Solved:7

Description

Byteasar 决定制造一条项链,她买了一串珠子,她有一个机器,能把这条珠子切成很多段,使得每段恰有 $k$ 颗珠子($k>0$),如果这条珠子的长度不是 $k$ 的倍数,最后一段长度小于 $k$ 的段就被丢弃了。

Byteasar 想知道,选择什么数字 $k$ 可以得到最多的不同的段。注意这里的段是可以反转的,即,子串 $1,2,3$ 和 $3,2,1$ 被认为是一样的。

Input

第一行一个正整数 $n$,表示柱子的长度。

第二行 $n$ 个用空格隔开的正整数 $a_1,a_2,\cdots,a_n$,描述这一串珠子的颜色。

Output

第一行两个用空格隔开的正整数,第一个表示能获得的不同的段的最大个数,第二个表示能获得最大值的 $k$ 的个数。

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

Sample Input Copy

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

Sample Output Copy

6 1
2

HINT

对于 $100\%$ 的数据,$1 \leq n \leq 2 \times 10^5$,且 $\forall 1 \leq i \leq n$,有 $1 \leq a_i \leq n$。

Translated By diamond_duke

加入题单

上一题 下一题 算法标签: