#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
const long long inf = 1e18 + 100;
struct Node {
  int a, b, id;
} sz[maxn];
bool cmp(Node a, Node b) { return a.a > b.a; }
int num[maxn];
int main() {
  int n;
  while (scanf("%d", &n) != EOF) {
    memset(num, 0, sizeof(num));
    for (int i = 1; i <= n; i++) scanf("%d", &sz[i].a);
    for (int i = 1; i <= n; i++) {
      scanf("%d", &sz[i].b);
      sz[i].id = i;
    }
    sort(sz + 1, sz + n + 1, cmp);
    printf("%d\n", n / 2 + 1);
    int t = 1;
    num[0] = sz[1].id;
    for (int i = 2; i < n; i += 2) {
      if (sz[i].b >= sz[i + 1].b)
        num[t++] = sz[i].id;
      else
        num[t++] = sz[i + 1].id;
    }
    if (n % 2 == 0) num[t++] = sz[n].id;
    for (int i = 0; i < t; i++) printf("%d ", num[i]);
    printf("\n");
  }
  return 0;
}
