#include<bits/stdc++.h>
using namespace std;
const unsigned int N=10000007;
long long n,m,t,cnt=0,ans,tot;
unsigned long long sum1[1000015],sum2[1000015],p[1000015],f[1000015],a[2000015],x,q[1000015],q1[1000015];
int main(){
cin>>n;
p[0]=1;
for(int i=1;i<=n;i++){
scanf("%lld",&a[i]);
sum1[i]=(sum1[i-1]*19260817+a[i])%N;
p[i]=(p[i-1]*19260817)%N;
}
for(int i=n;i>=1;i--){
sum2[i]=(sum2[i+1]*19260817+a[i])%N;
}
for(int k=1;k<=n;k++){
cnt=0;
for(int j=k;j<=n;j+=k){
x=(sum1[j]-sum1[j-k]*p[k])%N;cout<<x<<"\n";
if(f[x]==k)continue;
f[x]=k;
x=(sum2[j-k+1]-sum2[j+1]*p[k])%N;cout<<x<<"\n";
f[x]=k;
cnt++;
}
if(q1[tot]<cnt){
q1[1]=cnt;
q[1]=k;
tot=1;
}
if(q1[tot]==cnt)q1[++tot]=cnt,q[tot]=k;
}
cout<<q1[tot]<<" "<<tot<<"\n";
for(int i=1;i<=tot;i++)printf("%lld ",q[i]);
return 0;
}