#include <iostream> #include <algorithm> using namespace std; const int nmax=100000*4+5; int n,j,i; struct sir {int ini,val;}; sir a[nmax]; int dp[nmax]; int poz[nmax]; bool cmp (sir A , sir B) { return A.val<B.val; } int main() { cin>>n; for (i=1;i<=n;i++) { cin>>a[i].val; a[i].ini=i; if (a[i].val%n==0) { cout<<"1"<<'\n'; cout<<i; return 0; } } for (i=1;i<=n;i++) dp[i]=a[i].val+dp[i-1]; for (i=1;i<=n;i++) { dp[i]%=n; if (dp[i]==0) { cout<<i<<'\n'; for (j=1;j<=i;j++) cout<<j<<" "; return 0; } } for (i=1;i<=n;i++) { if (poz[dp[i]]!=0) { cout<<i-poz[dp[i]]<<'\n'; for (j=poz[dp[i]]+1;j<=i;j++) cout<<a[j].ini<<" "; return 0; } else poz[dp[i]]=i; } sort (a+1,a+n+1,cmp); for (i=1;i<=n;i++) { poz[i]=0; dp[i]=a[i].val+dp[i-1]; } for (i=1;i<=n;i++) dp[i]=a[i].val+dp[i-1]; for (i=1;i<=n;i++) { dp[i]%=n; if (dp[i]==0) { cout<<i<<'\n'; for (j=1;j<=i;j++) cout<<a[j].ini<<" "; return 0; } } for (i=1;i<=n;i++) { if (poz[dp[i]]!=0) { cout<<i-poz[dp[i]]<<'\n'; for (j=poz[dp[i]]+1;j<=i;j++) cout<<a[j].ini<<" "; return 0; } else poz[dp[i]]=i; } }