#include <bits/stdc++.h>
using namespace std;
const int maxn = 15 + 2;
int n, a, b, h[maxn], ans = 0x7fffffff;
vector<int> hit, tmp;
void health(int c, int a, int b) {
  h[c - 1] -= b;
  h[c + 1] -= b;
  h[c] -= a;
  return;
}
void dfs(int c, int times) {
  if (times >= ans) return;
  if (c == n) {
    if (h[n] < 0) {
      ans = times;
      hit = tmp;
    }
    return;
  }
  for (int i = 0;
       i <= max(h[c - 1] / b + 1, max(h[c] / a + 1, h[c + 1] / b + 1)); i++) {
    if (h[c - 1] - b * i < 0) {
      health(c, a * i, b * i);
      for (int j = 0; j < i; j++) tmp.push_back(c);
      dfs(c + 1, times + i);
      health(c, -a * i, -b * i);
      for (int j = 0; j < i; j++) tmp.pop_back();
    }
  }
  return;
}
int main() {
  scanf("%d %d %d", &n, &a, &b);
  for (int i = 1; i <= n; i++) {
    scanf("%d", h + i);
  }
  dfs(2, 0);
  printf("%d\n", ans);
  for (int i = 0; i < hit.size(); i++) printf("%d ", hit[i]);
  return 0;
}
