#include <bits/stdc++.h>
using namespace std;
struct Node {
  int index;
  int a;
  int b;
} node[100010];
int ans[100010];
bool cmp(const Node& a, const Node& b) {
  if (a.a == b.a) {
    return a.b > b.b;
  }
  return a.a > b.a;
}
int main() {
  int n;
  cin >> n;
  long long targeta = 0, targetb = 0;
  for (int i = 0; i < n; i++) {
    cin >> node[i].a;
    node[i].index = i + 1;
  }
  for (int i = 0; i < n; i++) {
    cin >> node[i].b;
  }
  int cont = n / 2 + 1;
  sort(node, node + n, cmp);
  int ansindex = 0;
  ans[ansindex++] = node[0].index;
  for (int i = 1; i + 1 < n; i += 2) {
    ans[ansindex++] =
        node[i].b > node[i + 1].b ? node[i].index : node[i + 1].index;
  }
  if (n % 2 == 0) ans[ansindex++] = node[n - 1].index;
  cout << cont << endl;
  for (int i = 0; i < cont; i++) {
    cout << ans[i] << " ";
  }
  return 0;
}
