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