#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int n, s, ss, t;
pair<int, int> A[N];
set<int> S, SS;
bool mcmp(pair<int, int> i, pair<int, int> j) { return i.first < j.first; }
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> t;
    A[i] = make_pair(t, i + 1);
  }
  sort(A, A + n, mcmp);
  for (int i = n - 1; i - 1 >= 0; i -= 2) {
    if (i % 2) {
      S.insert(A[i].second);
      s += A[i].first;
      SS.insert(A[i - 1].second);
      ss += A[i - 1].first;
    } else {
      SS.insert(A[i].second);
      ss += A[i].first;
      S.insert(A[i - 1].second);
      s += A[i - 1].first;
    }
  }
  if (n % 2) {
    if (s < ss)
      S.insert(A[0].second);
    else
      S.insert(A[0].second);
  }
  cout << S.size() << '\n';
  for (auto i = S.begin(); i != S.end(); i++) cout << *i << " ";
  cout << '\n' << SS.size() << '\n';
  for (auto i = SS.begin(); i != SS.end(); i++) cout << *i << " ";
  return 0;
}
