func_code_string: #include <bits/stdc++.h>   using namespace std;   int a[100005], b[100005], m[100005];   int main() {     int n;     scanf( %d , &n);     for (int i = 1; i <= n; i++) scanf( %d , &a[i]);     for (int i = 1; i <= n; i++) scanf( %d , &b[i]);     m[1] = a[1] - b[1];     for (int i = 2; i <= n; i++) m[i] = m[i - 1] + a[i] - b[i];     int min = 1000000001;     for (int i = 1; i <= n; i++)       if (min > m[i]) min = m[i];     vector<int> d;     for (int i = 1; i <= n; i++) {       if (min >= 0) d.push_back(i);       min -= a[i] - b[i];     }     m[n + 1] = a[1] - b[n];     m[1] = a[1] - b[n];     for (int i = n; i >= 2; i--) m[i] = m[i + 1] + a[i] - b[i - 1];     min = 1000000001;     for (int i = 1; i <= n; i++)       if (min > m[i]) min = m[i];     if (min >= 0) d.push_back(1);     min -= a[1] - b[n];     for (int i = n; i >= 2; i--) {       if (min >= 0) d.push_back(i);       min -= a[i] - b[i - 1];     }     sort(d.begin(), d.end());     int i = 1;     for (size_t j = 1; j < d.size(); j++)       if (d[j] != d[j - 1]) d[i++] = d[j];     cout << i << endl;     for (int j = 0; j < i; j++)       if (j != i - 1)         cout << d[j] <<    ;       else         cout << d[j] << endl;   }   