#include <bits/stdc++.h>
using namespace std;
const int N = 101;
const long long MOD = 1e9 + 7;
const double eps = 1e-9;
int n, a, b, h[N], dp[11][17][17], sol[11][17][17];
int calc(int i, int pre, int cur) {
  if (i == n - 1) return (pre >= h[i - 1] && cur >= h[i]) ? 0 : 1e9;
  int &r = dp[i][pre][cur];
  if (r != -1) return r;
  r = 1e9;
  for (int j = 0; j <= 16; j++)
    if (pre + j * b >= h[i - 1]) {
      int r2 = calc(i + 1, min(16, cur + j * a), min(16, j * b)) + j;
      if (r2 < r) {
        r = r2;
        sol[i][pre][cur] = j;
      }
    }
  return r;
}
int main() {
  scanf("%d%d%d", &n, &a, &b);
  for (int i = 0; i < n; i++) {
    scanf("%d", h + i);
    h[i]++;
  }
  memset(dp, -1, sizeof dp);
  printf("%d\n", calc(1, 0, 0));
  for (int i = 1, pre = 0, cur = 0; i < n - 1; i++) {
    int j = sol[i][pre][cur];
    while (sol[i][pre][cur]--) printf("%d ", i + 1);
    pre = min(16, cur + j * a);
    cur = min(16, j * b);
  }
  puts("");
  return 0;
}
