#include <bits/stdc++.h>
int n, a, b, h[10];
int dp[10][17][17][17];
int p[10][17][17][17][3];
int c[10], r[170], rn;
int main() {
  scanf("%d%d%d", &n, &a, &b);
  for (int i = 0; i < (int)(n); i++) scanf("%d", h + i);
  for (int i = 0; i < (int)(10); i++)
    for (int x = 0; x < (int)(17); x++)
      for (int y = 0; y < (int)(17); y++)
        for (int z = 0; z < (int)(17); z++) dp[i][x][y][z] = (1000000);
  dp[0][0][0][0] = 0;
  for (int i = 1; i < n; i++) {
    for (int x = 0; x < (int)(17); x++)
      for (int y = 0; y < (int)(17); y++)
        for (int z = 0; z < (int)(17); z++)
          for (int t = 0; t < (int)((i < n - 1) ? 17 : 1); t++) {
            if ((y + t) * b + z * a <= h[i - 1]) continue;
            int nc = dp[i - 1][x][y][z] + t;
            if (dp[i][y][z][t] > nc) {
              dp[i][y][z][t] = nc;
              p[i][y][z][t][0] = x;
              p[i][y][z][t][1] = y;
              p[i][y][z][t][2] = z;
            }
          }
  }
  int ans = (1000000);
  int tx, ty, tz;
  for (int x = 0; x < (int)(17); x++)
    for (int y = 0; y < (int)(17); y++)
      if (y * b > h[n - 1]) {
        if (ans > dp[n - 1][x][y][0]) {
          ans = dp[n - 1][x][y][0];
          tx = x;
          ty = y;
          tz = 0;
        }
      }
  printf("%d\n", ans);
  int cur = n - 1;
  while (cur >= 0) {
    c[cur] = tz;
    int px, py, pz;
    px = p[cur][tx][ty][tz][0];
    py = p[cur][tx][ty][tz][1];
    pz = p[cur][tx][ty][tz][2];
    tx = px;
    ty = py;
    tz = pz;
    cur = cur - 1;
  }
  rn = 0;
  for (int i = 1; i < n - 1; i++) {
    for (int j = 0; j < (int)(c[i]); j++) r[rn++] = i + 1;
  }
  for (int i = 0; i < (int)(rn); i++)
    printf("%d%c", r[i], i == rn - 1 ? '\n' : ' ');
  return 0;
}
