#include <bits/stdc++.h>
int n, a, b, h[10], tmp[200], res[200], num = 0, ans = 0, sum[16];
void desc(int x) {
  h[x] -= a;
  h[x + 1] -= b;
  h[x - 1] -= b;
  tmp[num++] = x;
}
void back(int newNum) {
  while (num > newNum) {
    int x = tmp[--num];
    h[x] += a;
    h[x + 1] += b;
    h[x - 1] += b;
  }
}
void dfs(int x) {
  if (num + sum[x] / (a + b + b) > ans) {
    return;
  }
  int lastNum = num;
  if (x == n - 1) {
    while (h[x] >= 0) desc(x - 1);
    if (num < ans) {
      ans = num;
      memcpy(res, tmp, num * sizeof(int));
    }
    return back(lastNum);
  }
  while (h[x - 1] >= 0) {
    desc(x);
  }
  dfs(x + 1);
  while (h[x] >= 0) {
    desc(x);
    dfs(x + 1);
  }
  return back(lastNum);
}
int main() {
  scanf("%d %d %d", &n, &a, &b);
  for (int i = 0; i < n; i++) scanf("%d", &h[i]);
  for (int i = n - 1; i >= 0; i--) {
    int k = (i > 0 && i < n - 1) ? a : b;
    ans += h[i] / k + 1;
    sum[i] = sum[i + 1] + h[i] + 1;
  }
  dfs(1);
  printf("%d\n", ans);
  for (int i = 0; i < ans; i++) printf("%d ", res[i] + 1);
}
