#include <bits/stdc++.h>
using namespace std;
const int maxN = 100005;
int a[maxN], b[maxN];
int main() {
  int n;
  scanf("%d", &n);
  long long sumA = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &a[i]);
    sumA += a[i];
  }
  long long sumB = 0;
  for (int i = 0; i < n; ++i) {
    scanf("%d", &b[i]);
    sumB += b[i];
  }
  vector<pair<pair<int, int>, int> > orderofnumbers;
  for (int i = 0; i < n; ++i) {
    orderofnumbers.push_back({{a[i], b[i]}, i});
  }
  sort(orderofnumbers.begin(), orderofnumbers.end());
  vector<int> answer;
  for (int i = 0; i < n; i += 2) {
    if (i + 2 >= n ||
        orderofnumbers[i].first.second > orderofnumbers[i + 1].first.second) {
      answer.push_back(orderofnumbers[i].second);
    } else {
      answer.push_back(orderofnumbers[i + 1].second);
    }
  }
  if (n % 2 == 0) {
    answer.push_back(orderofnumbers.back().second);
  }
  long long suminA = 0, suminB = 0;
  for (int elem : answer) {
    suminA += a[elem];
    suminB += b[elem];
  }
  assert(2 * suminA > sumA && 2 * suminB > sumB);
  cout << (n / 2) + 1 << endl;
  for (int elem : answer) {
    printf("%d ", elem + 1);
  }
  printf("\n");
  return 0;
}
