바이테아사르는 목걸이를 만들기로 했다. 그래서 색색의 산호 구슬이 길게 꿰어진 줄 하나를 아주 싼 값에 사들였다. 그에게는 양의 정수 k (k>0)를 정하면 그 줄을 앞에서부터 구슬 k개씩 연속된 조각으로 잘라 주는 기계도 있다. 즉 첫 번째 조각은 1,…,k번 구슬, 두 번째 조각은 k+1,…,2k번 구슬, 이런 식으로 이어진다. 전체 구슬 수가 k의 배수가 아니면, 마지막에 남는 (길이가 k보다 짧은) 조각은 버린다. 각 구슬의 색은 양의 정수로 나타낸다.
다양함을 좋아하는 바이테아사르는 잘라 낸 조각들 가운데 서로 다른 조각이 가장 많아지도록 k를 고르고 싶다. 줄 전체에는 정해진 시작과 끝이 있으며, 이 두 끝은 서로 바꿀 수 없다. 기계는 항상 시작 쪽에서부터 자른다. 다만 잘라 낸 한 조각 안에서는 양쪽 끝을 서로 바꿀 수 있어서, 조각을 어느 방향으로 읽어도 같은 것으로 본다. 예를 들어 조각 (1,2,3)과 (3,2,1)은 같은 조각이다. 바이테아사르를 위해 최적의 k 값을 구하는 프로그램을 작성하라.
첫째 줄에 줄에 꿰어진 구슬의 개수 n (1≤n≤200000)이 주어진다. 둘째 줄에는 시작 쪽부터 차례대로 각 구슬의 색을 나타내는 양의 정수 n개 a1,a2,…,an (1≤ai≤n)이 공백 하나로 구분되어 주어진다.
첫째 줄에 두 정수를 공백 하나로 구분하여 출력한다. 하나는 k를 어떻게 고르든 얻을 수 있는 서로 다른 조각 수의 최댓값이고, 다른 하나는 그 최댓값을 이루는 k 값의 개수 l이다. 둘째 줄에는 그러한 k 값 l개를 오름차순으로 공백 하나로 구분하여 출력한다.