#include <bits/stdc++.h>
using namespace std;
const int maxn = 1e5;
struct Node {
  int x, y, id;
} a[maxn + 5];
bool cmp(Node a, Node b) {
  if (a.x == b.x) return a.y > b.y;
  return a.x > b.x;
}
vector<int> ans;
int main() {
  int n, i;
  scanf("%d", &n);
  for (i = 1; i <= n; i++) scanf("%d", &a[i].x);
  for (i = 1; i <= n; i++) scanf("%d", &a[i].y);
  for (i = 1; i <= n; i++) a[i].id = i;
  sort(a + 1, a + n + 1, cmp);
  ans.push_back(a[1].id);
  if (n % 2) {
    for (i = 2; i <= n; i += 2) {
      if (a[i].y > a[i + 1].y)
        ans.push_back(a[i].id);
      else
        ans.push_back(a[i + 1].id);
    }
  } else {
    for (i = 2; i <= n - 1; i += 2) {
      if (a[i].y > a[i + 1].y)
        ans.push_back(a[i].id);
      else
        ans.push_back(a[i + 1].id);
    }
    ans.push_back(a[n].id);
  }
  printf("%d\n", ans.size());
  for (i = 0; i < ans.size(); i++) printf("%d ", ans[i]);
  printf("\n");
  return 0;
}
