#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, a[100000], b[100000], e[100000], f[100000], d[100000], m;
  set<int> v;
  set<int>::iterator it;
  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]);
  }
  d[0] = a[0] - b[0];
  m = d[0];
  for (int i = 1; i < n; i++) {
    d[i] = a[i] - b[i] + d[i - 1];
    if (d[i] < m) m = d[i];
  }
  if (m >= 0) v.insert(1);
  for (int i = 2; i <= n; i++) {
    if (m - d[i - 2] >= 0) v.insert(i);
  }
  e[0] = a[0];
  for (int i = 1; i < n; i++) {
    e[i] = a[n - i];
  }
  for (int i = 0; i < n; i++) {
    f[i] = b[n - i - 1];
  }
  d[0] = e[0] - f[0];
  m = d[0];
  for (int i = 1; i < n; i++) {
    d[i] = e[i] - f[i] + d[i - 1];
    if (d[i] < m) m = d[i];
  }
  if (m >= 0) v.insert(1);
  for (int i = 2; i <= n; i++) {
    if (m - d[i - 2] >= 0) v.insert(n - i + 2);
  }
  printf("%d\n", v.size());
  for (it = v.begin(); it != v.end(); ++it) printf("%d ", *it);
  return 0;
}
