#include <bits/stdc++.h>
using namespace std;
inline int IN() {
  int x = 0, ch = getchar(), f = 1;
  while (!isdigit(ch) && (ch != '-') && (ch != EOF)) ch = getchar();
  if (ch == '-') {
    f = -1;
    ch = getchar();
  }
  while (isdigit(ch)) {
    x = (x << 1) + (x << 3) + ch - '0';
    ch = getchar();
  }
  return x * f;
}
int a, b, n, hp[11], axl[11], cnt[11], Ans = 1 << 30;
void Hit(int pos) {
  cnt[pos]++;
  hp[pos] -= a;
  hp[pos - 1] -= b;
  hp[pos + 1] -= b;
}
void DontHit(int pos) {
  cnt[pos]--;
  hp[pos] += a;
  hp[pos - 1] += b;
  hp[pos + 1] += b;
}
bool AllKill() {
  for (int i = 2; i <= n; i++)
    if (hp[i] >= 0) return 0;
  return 1;
}
void DFS(int cs, int np) {
  if (AllKill()) {
    if (cs < Ans) {
      Ans = cs;
      memcpy(axl, cnt, sizeof cnt);
    }
    return;
  }
  for (int i = np; i <= n - 1; i++)
    if (hp[i] >= 0 || hp[i - 1] >= 0 || hp[i + 1] >= 0) {
      Hit(i);
      DFS(cs + 1, i);
      DontHit(i);
    }
}
int main() {
  n = IN(), a = IN(), b = IN();
  for (int i = 1; i <= n; i++) hp[i] = IN();
  int nc = 0;
  while (hp[1] >= 0) nc++, Hit(2);
  while (hp[n] >= 0) nc++, Hit(n - 1);
  DFS(nc, 2);
  printf("%d\n", Ans);
  for (int i = 2; i <= n - 1; i++)
    while (axl[i]) axl[i]--, printf("%d ", i);
}
