#include <bits/stdc++.h>
using namespace std;
const int NSIZE = 100010;
int lg[NSIZE * 2];
int f[NSIZE * 2][30];
int n;
int sumA[NSIZE * 2], sumB[NSIZE * 2];
int org[NSIZE * 2];
int prov[NSIZE], req[NSIZE];
bool flag[NSIZE];
void init() {
  int i, j;
  int nlen = n * 2, k = 1, l = 0;
  for (i = 0; i < nlen; i++) {
    f[i][0] = sumA[i + 1] - sumB[i + 1];
    if (i + 1 > k * 2) {
      k *= 2;
      l++;
    }
    lg[i + 1] = l;
  }
  for (j = 1; (1 << j) - 1 < nlen; j++)
    for (i = 0; i + (1 << j) - 1 < nlen; i++)
      f[i][j] = min(f[i][j - 1], f[i + (1 << (j - 1))][j - 1]);
}
int ask_min(int x, int y) {
  x--;
  y--;
  int k = lg[y - x + 1];
  return min(f[x][k], f[y - (1 << k) + 1][k]);
}
void gao1() {
  for (int i = 1; i <= n; i++) {
    int m = ask_min(i, n + i - 1);
    int s = sumA[i - 1] - sumB[i - 1];
    if (m >= s) flag[org[i]] = true;
  }
}
void gao2() {
  for (int i = 2 * n; i >= n + 1; i--) {
    int m = ask_min(i - n + 1, i);
    int s = sumA[i + 1] - sumB[i + 1];
    if (m >= s) flag[org[i]] = true;
  }
}
int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) cin >> prov[i];
  for (int i = 1; i <= n; i++) cin >> req[i];
  for (int i = 1; i <= n; i++) {
    sumA[i] = sumA[i - 1] + prov[i];
    sumB[i] = sumB[i - 1] + req[i];
    org[i] = i;
  }
  for (int i = 1; i <= n; i++) {
    sumA[i + n] = sumA[i + n - 1] + prov[i];
    sumB[i + n] = sumB[i + n - 1] + req[i];
    org[i + n] = i;
  }
  init();
  gao1();
  for (int i = 1; i <= n; i++) prov[i - 1] = prov[i];
  prov[n] = prov[0];
  prov[0] = 0;
  for (int i = n; i >= 1; i--) {
    sumA[i + n] = sumA[i + n + 1] + prov[i];
    sumB[i + n] = sumB[i + n + 1] + req[i];
    if (i == n)
      org[i + n] = 1;
    else
      org[i + n] = i + 1;
  }
  for (int i = n; i >= 1; i--) {
    sumA[i] = sumA[i + 1] + prov[i];
    sumB[i] = sumB[i + 1] + req[i];
    if (i == n)
      org[i] = 1;
    else
      org[i] = i + 1;
  }
  init();
  gao2();
  int ans = 0;
  for (int i = 1; i <= n; i++)
    if (flag[i]) ans++;
  cout << ans << endl;
  for (int i = 1; i <= n; i++)
    if (flag[i]) cout << i << " ";
  return 0;
}
