#include <bits/stdc++.h>
using namespace std;
int fireball1, fireball2, health[100], attack[100], attack1[100];
int n, sum = 2e+8;
void dfs(int x, int y) {
  if (y >= sum) return;
  if (x == n) {
    sum = y;
    for (int i = 1; i <= n; i++) attack[i] = attack1[i];
    return;
  }
  for (int i = 0; i <= 100; i++) {
    if (y + i > sum) break;
    if (health[x - 1] - fireball2 * i >= 0) continue;
    if (x == n - 1)
      if (health[n] - fireball2 * i >= 0) continue;
    attack1[x] = i;
    health[x - 1] -= fireball2 * i;
    health[x] -= fireball1 * i;
    health[x + 1] -= fireball2 * i;
    dfs(x + 1, y + i);
    health[x - 1] += fireball2 * i;
    health[x] += fireball1 * i;
    health[x + 1] += fireball2 * i;
    if (health[x] - fireball1 * i < 0 && health[x + 1] - fireball2 * i < 0)
      break;
  }
}
int main() {
  scanf("%d%d%d", &n, &fireball1, &fireball2);
  for (int i = 1; i <= n; i++) scanf("%d", &health[i]);
  dfs(2, 0);
  printf("%d\n", sum);
  for (int i = 2; i < n; i++)
    for (int j = 1; j <= attack[i]; j++) printf("%d ", i);
}
