#include <bits/stdc++.h>
using namespace std;
struct Seat {
  int i;
  long long c;
};
bool cmp(Seat se1, Seat se2) {
  if (se1.c > se2.c)
    return true;
  else
    return false;
}
bool cmp2(Seat se1, Seat se2) {
  if (se1.i > se2.i)
    return true;
  else
    return false;
}
int main() {
  vector<Seat> vt;
  vector<long long> ans;
  long long n, A_s, A_l, sum = 0;
  cin >> n;
  cin >> A_s;
  sum += A_s;
  A_l = sum;
  for (long long i = 2; i < n + 1; i++) {
    long long c;
    cin >> c;
    sum += c;
    if (c == 1 && A_s == 1)
      continue;
    else if (c * 2 <= A_s) {
      Seat s;
      s.c = c;
      s.i = i;
      vt.push_back(s);
    }
  }
  if (A_s >= sum / 2 + 1) {
    cout << 1 << endl << 1;
    return 0;
  }
  if (vt.size() == 0) {
    cout << 0;
    return 0;
  };
  sort(vt.begin(), vt.end(), cmp);
  ans.push_back(1);
  int i = vt.size() - 1;
  while (i >= 0) {
    ans.push_back(vt[i].i);
    A_l += vt[i].c;
    i--;
    if (A_l >= sum / 2 + 1) break;
  }
  if (A_l < sum / 2 + 1) {
    cout << 0;
    return 0;
  }
  sort(ans.begin(), ans.end());
  cout << ans.size() << endl;
  for (long long i = 0; i < ans.size(); i++) {
    cout << ans[i] << " ";
  }
}
