#include <bits/stdc++.h>
const int INF = 10000;
const int N = 15;
int h[N], n, a, b, ans, cnt[N], cur[N];
bool dfs(int idx, int num) {
  if (num > ans) return false;
  if (idx == n) {
    if (h[n] > 0) return false;
    ans = num;
    for (int i = 2; i < n; i++) {
      cnt[i] = cur[i];
    }
    return true;
  }
  int hp1 = h[idx - 1];
  int hp2 = h[idx];
  int hp3 = h[idx + 1];
  for (int i = 0; i <= 20; i++) {
    if (hp1 - b * i > 0) continue;
    if (i + num > ans) break;
    if (idx == n - 1 && hp3 - b * i > 0) continue;
    cur[idx] = i;
    h[idx - 1] -= b * i;
    h[idx] -= a * i;
    h[idx + 1] -= b * i;
    bool ok = dfs(idx + 1, num + i);
    h[idx - 1] += b * i;
    h[idx] += a * i;
    h[idx + 1] += b * i;
    if (hp2 - a * i <= 0 && hp3 - b * i <= 0) break;
  }
  return false;
}
int main() {
  scanf("%d%d%d", &n, &a, &b);
  for (int i = 1; i <= n; i++) {
    scanf("%d", &h[i]);
    h[i]++;
  }
  ans = INF;
  dfs(2, 0);
  printf("%d\n", ans);
  for (int i = 2; i < n; i++) {
    for (int j = 0; j < cnt[i]; j++) {
      printf("%d ", i);
    }
  }
  puts("");
  return 0;
}
