#include <bits/stdc++.h>
using namespace std;
struct node {
  int a, b, pos;
  bool operator<(const node &x) const { return a > x.a; }
} arr[100000 + 80];
void get(int &v) {
  char c;
  while ((c = getchar()) != EOF && isdigit(c) == 0)
    ;
  v = c - '0';
  while ((c = getchar()) != EOF && isdigit(c))
    v = (v << 1) + (v << 3) + c - '0';
  return;
}
bool flag = 1;
void P(int x) {
  if (flag)
    flag = 0;
  else
    putchar(' ');
  printf("%d", x);
  return;
}
int main() {
  int n, i;
  get(n);
  for (i = 1; i <= n; i++) get(arr[i].a), arr[i].pos = i;
  for (i = 1; i <= n; i++) get(arr[i].b);
  sort(arr + 1, arr + n + 1);
  printf("%d\n", (n >> 1) + 1);
  for (i = 1; i <= 2 - (n & 1); i++) P(arr[i].pos);
  while (i < n) {
    P(arr[i + (arr[i].b < arr[i + 1].b)].pos);
    i += 2;
  }
  return 0;
}
