#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using db = double;
using pii = pair<int, int>;
using vi = vector<int>;
mt19937 mrand(time(0));
ll get(ll r) { return ((ll)mrand() * mrand() % r + r) % r; }
ll get(ll l, ll r) { return get(r - l + 1) + l; }
int n;
vi ans;
struct pack {
  int a, b, id;
} a[100100];
signed main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i].a);
  for (int i = 1; i <= n; i++) scanf("%d", &a[i].b), a[i].id = i;
  sort(a + 1, a + 1 + n, [&](const pack& a, const pack& b) {
    return a.a > b.a || (a.a == b.a && a.b > b.b);
  });
  ans.push_back(a[1].id);
  for (int i = 2; i <= n; i += 2)
    if (a[i].b > a[i + 1].b)
      ans.push_back(a[i].id);
    else
      ans.push_back(a[i + 1].id);
  printf("%u\n", ans.size());
  for (int i : ans) printf("%d ", i);
  fprintf(stderr, "time=%.4f\n", (db)clock() / CLOCKS_PER_SEC);
  return 0;
}
