#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5 + 5;
inline int read() {
  int w = 0, f = 1;
  char ch = getchar();
  while (ch < '0' or ch > '9') {
    if (ch == '-') f = -f;
    ch = getchar();
  }
  while (ch >= '0' and ch <= '9') w = w * 10 + ch - '0', ch = getchar();
  return w * f;
}
int N;
pair<pair<int, int>, int> p[maxn];
bool cmp(pair<pair<int, int>, int> x, pair<pair<int, int>, int> y) {
  return x > y;
}
int main() {
  N = read();
  for (int i = 1; i <= N; i++) p[i].first.first = read(), p[i].second = i;
  for (int i = 1; i <= N; i++) p[i].first.second = read();
  sort(p + 1, p + N + 1, cmp);
  printf("%d\n", N / 2 + 1);
  printf("%d ", p[1].second);
  for (int i = 2; i <= N; i += 2) {
    int nowb = p[i].first.second, nextb = p[i + 1].first.second;
    printf("%d ", (nowb < nextb) ? p[i + 1].second : p[i].second);
  }
  return 0;
}
