#include <bits/stdc++.h>
using namespace std;
const int N = 101000;
int n, z[N], a[N], b[N];
set<pair<int, int> > Set;
int main() {
  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]);
  }
  vector<int> ans;
  for (int i = 0; i < n; i++) {
    z[i] = a[i] - b[i];
    if (i) z[i] += z[i - 1];
    Set.insert(make_pair(z[i], i));
  }
  int line = 0;
  for (int i = 0; i < n; i++) {
    if (Set.begin()->first >= line) {
      ans.push_back(i + 1);
    }
    line = z[i];
  }
  line = 0;
  Set.clear();
  for (int i = n - 1; i >= 0; i--) {
    z[i] = a[i] - b[(i + n - 1) % n];
    if (i != n - 1) z[i] += z[i + 1];
    Set.insert(make_pair(z[i], i));
  }
  for (int i = n - 1; i >= 0; i--) {
    if (Set.begin()->first >= line) {
      ans.push_back(i + 1);
    }
    line = z[i];
  }
  sort(ans.begin(), ans.end());
  ans.erase(unique(ans.begin(), ans.end()), ans.end());
  printf("%d\n", (int)ans.size());
  for (__typeof((ans).begin()) it = (ans).begin(); it != (ans).end(); it++) {
    printf("%d ", *it);
  }
  puts("");
  return 0;
}
