#include <bits/stdc++.h>
int A[100000], B[100000];
bool cancw[100000], canccw[100000];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 0; i < n; ++i) scanf("%d", &A[i]);
  for (int i = 0; i < n; ++i) scanf("%d", &B[i]);
  int mincw;
  int minccw;
  mincw = A[0] - B[0];
  minccw = A[0] - B[n - 1];
  int tmp = mincw;
  for (int i = 1; i < n; ++i) {
    tmp = tmp + A[i] - B[i];
    mincw = mincw <= tmp ? mincw : tmp;
  }
  tmp = minccw;
  for (int i = n - 1; i > 0; --i) {
    tmp = tmp + A[i] - B[i - 1];
    minccw = minccw <= tmp ? minccw : tmp;
  }
  cancw[0] = (mincw >= 0);
  for (int i = 0; i < n - 1; ++i) {
    mincw = mincw - A[i] + B[i];
    cancw[i + 1] = (mincw >= 0);
  }
  canccw[0] = (minccw >= 0);
  for (int i = n - 1; i > 0; --i) {
    int idx = (n - i) % n;
    minccw = minccw - A[(i + 1) % n] + B[i];
    canccw[i] = (minccw >= 0);
  }
  int wyn = 0;
  for (int i = 0; i < n; ++i)
    if (cancw[i] || canccw[i]) ++wyn;
  printf("%d\n", wyn);
  for (int i = 0; i < n; ++i)
    if (cancw[i] || canccw[i]) printf("%d ", i + 1);
  return 0;
}
