#include <bits/stdc++.h>
struct Value {
  int a;
  int b;
  int index;
  bool operator<(const Value &other) const { return this->a > other.a; }
};
int main(void) {
  int n;
  scanf("%d", &n);
  Value v[n];
  for (int i = 0; i < n; i++) scanf("%d", &v[i].a);
  for (int i = 0; i < n; i++) scanf("%d", &v[i].b);
  for (int i = 0; i < n; i++) v[i].index = i + 1;
  std::sort(v, v + n);
  std::vector<int> answer;
  answer.push_back(v[0].index);
  int i;
  for (i = 1; i + 1 < n; i += 2) {
    if (v[i].b > v[i + 1].b)
      answer.push_back(v[i].index);
    else
      answer.push_back(v[i + 1].index);
  }
  if (i < n) answer.push_back(v[i].index);
  printf("%d\n", (int)answer.size());
  for (int i : answer) printf("%d ", i);
  printf("\n");
  return 0;
}
