#include <bits/stdc++.h>
using namespace std;
template <class T>
void rd(T &x) {
  int f = 1;
  x = 0;
  char c;
  while (c = getchar(), c < 48)
    if (c == '-') f = -1;
  do x = (x << 3) + (x << 1) + (c ^ 48);
  while (c = getchar(), c > 47 && c < 58);
  x *= f;
}
const int N = 1e5 + 5;
struct node {
  int x, id, y;
  bool operator<(const node &z) const { return x > z.x; }
} a[N];
int n, ans[N], tot, cnt;
int main() {
  rd(n);
  for (int i = 1; i <= n; i++) rd(a[i].x), a[i].id = i;
  for (int i = 1; i <= n; i++) rd(a[i].y);
  sort(a + 1, a + n + 1);
  cnt = n / 2 + 1;
  ans[++tot] = a[1].id;
  for (int i = 2; i <= n; i += 2)
    if (a[i].y > a[i + 1].y)
      ans[++tot] = a[i].id;
    else
      ans[++tot] = a[i + 1].id;
  cout << cnt << endl;
  for (int i = 1; i <= cnt; i++) cout << ans[i] << ' ';
  return 0;
}
