#include <bits/stdc++.h>
using namespace std;
const int maxN = 10;
int a, b, h[maxN], c[maxN], res[maxN], n;
void f(int p, int lim) {
  if (p == n - 1) {
    for (int i = (1); i <= (n - 2); ++i)
      if (h[i] >= b * (c[i - 1] + c[i + 1]) + a * c[i]) return;
    throw 1;
  }
  for (int i = 0; i < (lim + 1); ++i) c[p] = i, f(p + 1, lim - i);
}
int main() {
  cin >> n >> a >> b;
  for (int i = 0; i < (n); ++i) cin >> h[i];
  while (h[0] >= 0) res[1]++, h[0] -= b, h[2] -= b, h[1] -= a;
  while (h[n - 1] >= 0)
    res[n - 2]++, h[n - 1] -= b, h[n - 3] -= b, h[n - 2] -= a;
  for (int lim = 0;; lim++) try {
      f(1, lim);
    } catch (int x) {
      vector<int> ret;
      for (int i = (1); i <= (n - 2); ++i) res[i] += c[i];
      for (int i = (1); i <= (n - 2); ++i)
        for (int j = 0; j < (res[i]); ++j) ret.push_back(i + 1);
      n = (int)(ret).size();
      cout << n << endl;
      for (int i = 0; i < (n); ++i) cout << ret[i] << (i + 1 == n ? '\n' : ' ');
      break;
    }
  return 0;
}
