#include <bits/stdc++.h>
const int MAX = 1e5 + 1000;
const int INF = 1e9 + 5;
using namespace std;
int n;
struct node {
  int a, b, j;
} x[MAX];
bool cmp(node c, node d) {
  if (c.a != d.a)
    return c.a > d.a;
  else
    return c.b > d.b;
}
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; ++i) {
    scanf("%d", &x[i].a);
    x[i].j = i;
  }
  for (int i = 1; i <= n; ++i) scanf("%d", &x[i].b);
  sort(x + 1, x + 1 + n, cmp);
  printf("%d\n", n / 2 + 1);
  printf("%d ", x[1].j);
  for (int i = 1; i <= (n - 1) / 2; ++i) {
    if (x[2 * i].b > x[2 * i + 1].b)
      printf("%d ", x[2 * i].j);
    else
      printf("%d ", x[2 * i + 1].j);
  }
  if (n % 2 == 0) {
    printf("%d ", x[n].j);
  }
  printf("\n");
}
