#include <bits/stdc++.h>
using namespace std;
const long long N = 1e5 + 5;
long long a[N], b[N], ps[N];
set<long long> ans;
signed main() {
  long long n;
  cin >> n;
  for (long long i = 1; i <= n; i++) cin >> a[i];
  for (long long i = 1; i <= n; i++) cin >> b[i];
  b[0] = b[n];
  long long mn = LLONG_MAX;
  for (long long i = 1; i <= n; i++) {
    ps[i] = ps[i - 1] + a[i] - b[i];
    mn = min(mn, ps[i]);
  }
  if (mn >= 0) ans.insert(1);
  for (long long i = 1; i < n; i++) {
    mn -= (a[i] - b[i]);
    if (mn >= 0) ans.insert(i + 1);
  }
  mn = LLONG_MAX;
  for (long long i = n; i > 0; i--) {
    ps[i] = ps[i + 1] + a[i] - b[i - 1];
    mn = min(mn, ps[i]);
  }
  if (mn >= 0) ans.insert(n);
  for (long long i = n; i > 1; i--) {
    mn -= (a[i] - b[i - 1]);
    if (mn >= 0) ans.insert(i - 1);
  }
  cout << ans.size() << '\n';
  for (auto i = ans.begin(); i != ans.end(); i++) cout << *i << " ";
}
