#include <bits/stdc++.h>
using namespace std;
long long a[100009], b[100009];
bool mark[100009];
long long clockwise[100009], anticlockwise[100009];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
  }
  for (int i = 1; i <= n; i++) {
    cin >> b[i];
  }
  for (int i = 1; i <= n; i++) {
    clockwise[i] = clockwise[i - 1] + (a[i] - b[i]);
  }
  long long mini = LLONG_MAX;
  for (int i = 1; i <= n; i++) {
    mini = min(mini, clockwise[i]);
  }
  for (int i = 1; i <= n; i++) {
    if ((mini - clockwise[i - 1]) >= 0) {
      mark[i] = true;
    }
  }
  for (int i = n; i >= 1; i--) {
    if (i + 1 > n) {
      anticlockwise[i] = anticlockwise[i + 1] + (a[1] - b[i]);
    } else {
      anticlockwise[i] = anticlockwise[i + 1] + (a[i + 1] - b[i]);
    }
  }
  mini = LLONG_MAX;
  for (int i = n + 1; i >= 2; i--) {
    mini = min(mini, anticlockwise[i]);
  }
  for (int i = n; i >= 1; i--) {
    if ((mini - anticlockwise[i + 1]) >= 0) {
      if (i == n) {
        mark[1] = true;
      } else {
        mark[i + 1] = true;
      }
    }
  }
  int ans = 0;
  for (int i = 1; i <= n; i++) {
    if (mark[i]) {
      ans++;
    }
  }
  cout << ans << endl;
  for (int i = 1; i <= n; i++) {
    if (mark[i]) {
      cout << i << " ";
    }
  }
  cout << endl;
}
