#include using namespace std; const int MAX_N = 400000 + 10; int v[MAX_N]; int cnt[MAX_N]; vector pos; bool inc[MAX_N]; int n; int must; int sum = 0; int main() { srand(time(0)); cin >> n; for(int i = 1; i <= n; ++i) { cin >> v[i]; v[i] = v[i] % n; if(v[i] == 0) { cout << 1 << "\n"; cout << i << "\n"; return 0; } sum += v[i]; if(sum >= n) sum -= n; inc[i] = 1; } //we need to reduce sum to 0 while(sum != 0) { int x = rand() % n; if(inc[x]) { sum -= v[x]; if(sum < 0) sum += n; inc[x] = 0; } else { sum += v[x]; if(sum > 0) sum += n; inc[x] = 1; } } int cnt = 0; for(int i = 1; i <= n; ++i) cnt += inc[i]; cout << cnt << "\n"; long long total = 0; for(int i = 1; i <= n; ++i) { if(inc[i]) { cout << i << " " ; total += v[i]; } } cout << "\n"; assert(total % n == 0); return 0; }