#include <bits/stdc++.h>
using namespace std;
template <class T>
void pv(T a, T b) {
  for (T i = a; i != b; ++i) cerr << *i << ' ';
  cout << endl;
}
int ans[100000 + 10];
int main() {
  for (int N; ~scanf("%d", &N);) {
    memset(ans, 0, sizeof(ans));
    vector<int> a(N), b(N);
    for (int i = 0; i < (int)(N); ++i) scanf("%d", &a[i]);
    for (int i = 0; i < (int)(N); ++i) scanf("%d", &b[i]);
    vector<long long> c(N);
    for (int i = 0; i < (int)(N); ++i) c[i] = a[i] - b[i];
    for (int i = 1; i < N; i++) c[i] += c[i - 1];
    int small = *min_element((c).begin(), (c).end());
    for (int i = 0; i < (int)(N); ++i)
      if (c[i] == small) ans[(i + 1) % N] = 1;
    for (int i = 0; i < (int)(N); ++i) c[i] = a[i] - b[(i - 1 + N) % N];
    for (int i = N - 2; i >= 0; i--) c[i] += c[i + 1];
    small = *min_element((c).begin(), (c).end());
    for (int i = 0; i < (int)(N); ++i)
      if (c[i] == small) ans[(i - 1 + N) % N] = 1;
    cout << count(ans, ans + N, 1) << endl;
    for (int i = 0; i < (int)(N); ++i)
      if (ans[i]) cout << i + 1 << ' ';
    cout << endl;
  }
  return 0;
}
