题目描述
流水线上有一排 $n$ 个工位,每个工位有一个类别编号 $a_i$。 质检方案是选定一个步长 $k$:从头开始每 $k$ 个连续工位划为一个样品段, 末尾不足 $k$ 个的零头直接丢弃。两个样品段相同,当且仅当工位类别序列 一致,或者一段恰好是另一段的倒序。 对每个 $k$ 都能统计出不同的样品段个数,问该个数最大能到多少, 并输出取得最大值的所有 $k$(升序)。
输入格式
第一行一个整数 $n$; 第二行 $n$ 个整数 $a_1 \ldots a_n$。
输出格式
第一行两个整数:最大不同样品段个数、取得该最大值的 $k$ 的个数; 第二行升序输出所有这样的 $k$,用空格分隔。
数据范围
$$1 \le n \le 2 \times 10^5$$
,$$1 \le a_i \le n$$
。