#include <bits/stdc++.h>
using namespace std;
const int maxn = (1e5) + 9;
int h[20];
int an[160];
int n, a, b;
bool dfs(int ans, int x, int l) {
  if (ans == 0) {
    for (int i = 1; i <= n; i++) {
      if (h[i] >= 0) return false;
    }
    return true;
  }
  if (h[x] < 0) return dfs(ans, x + 1, l);
  if (x == n) {
    h[n] -= b;
    an[ans] = n - 1;
    if (dfs(ans - 1, x, l)) return true;
    h[n] += b;
  } else {
    for (int i = max(x, l); i <= x + 1; i++) {
      if ((1 < i) && (i < n)) {
        an[ans] = i;
        h[i] -= a;
        h[i - 1] -= b;
        h[i + 1] -= b;
        if (dfs(ans - 1, x, i)) return true;
        h[i] += a;
        h[i - 1] += b;
        h[i + 1] += b;
      }
    }
  }
  return false;
}
int main() {
  scanf("%d%d%d", &n, &a, &b);
  int i, j;
  for (i = 1; i <= n; i++) {
    scanf("%d", h + i);
  }
  int ans = 1;
  while (true) {
    if (dfs(ans, 1, 2)) {
      printf("%d\n", ans);
      i = ans;
      while (i) {
        printf("%d ", an[i]);
        i--;
      }
      printf("\n");
      return 0;
    }
    ans++;
  }
  return 0;
}
