#include <bits/stdc++.h>
using namespace std;
int const maxn = 1e5 + 5;
int a[maxn], n, ans, b[maxn];
pair<int, int> a1[maxn], b1[maxn];
map<int, bool> mp;
vector<int> v;
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", &a1[i].first);
    a1[i].second = i;
  }
  for (int i = 0; i < n; i++) {
    scanf("%d", &b1[i].first);
    b1[i].second = i;
  }
  int N = n / 2 + 1;
  sort(a1, a1 + n, greater<pair<int, int> >());
  sort(b1, b1 + n, greater<pair<int, int> >());
  int i = 0, j = 0;
  for (int q = 0; q < N; q++) {
    if (q % 2) {
      while (mp[a1[i].second]) i++;
      mp[a1[i].second] = 1;
      v.push_back(a1[i].second);
      i += 2;
    } else {
      while (mp[b1[j].second]) j++;
      mp[b1[j].second] = 1;
      v.push_back(b1[j].second);
      j += 2;
    }
  }
  printf("%d\n", v.size());
  for (int i = 0; i < v.size(); i++) printf("%d ", v[i] + 1);
}
