#include <bits/stdc++.h>
using namespace std;
int a[100005], b[100005], m[100005];
int main() {
  int n;
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i]);
  for (int i = 1; i <= n; i++) scanf("%d", &b[i]);
  m[1] = a[1] - b[1];
  for (int i = 2; i <= n; i++) m[i] = m[i - 1] + a[i] - b[i];
  int min = 1000000001;
  for (int i = 1; i <= n; i++)
    if (min > m[i]) min = m[i];
  vector<int> d;
  for (int i = 1; i <= n; i++) {
    if (min >= 0) d.push_back(i);
    min -= a[i] - b[i];
  }
  m[n + 1] = a[1] - b[n];
  m[1] = a[1] - b[n];
  for (int i = n; i >= 2; i--) m[i] = m[i + 1] + a[i] - b[i - 1];
  min = 1000000001;
  for (int i = 1; i <= n; i++)
    if (min > m[i]) min = m[i];
  if (min >= 0) d.push_back(1);
  min -= a[1] - b[n];
  for (int i = n; i >= 2; i--) {
    if (min >= 0) d.push_back(i);
    min -= a[i] - b[i - 1];
  }
  sort(d.begin(), d.end());
  int i = 1;
  for (size_t j = 1; j < d.size(); j++)
    if (d[j] != d[j - 1]) d[i++] = d[j];
  cout << i << endl;
  for (int j = 0; j < i; j++)
    if (j != i - 1)
      cout << d[j] << ' ';
    else
      cout << d[j] << endl;
}
