#include <bits/stdc++.h>
using namespace std;
int n, a, b, ans, h[20], buffer[200], res[200];
inline int d(int a, int b) {
  if (a < 0)
    return a / b - 1;
  else
    return a / b + 1;
}
void dfs(int x, int times) {
  if (times >= ans) return;
  if (x == n) {
    if (h[n] < 0) {
      ans = times;
      memcpy(res, buffer, ans * sizeof(int));
    }
    return;
  }
  int maxi = max(d(max(h[x - 1], h[x + 1]), b), d(h[x], a));
  for (int i = max(0, d(h[x - 1], b)); i <= maxi; ++i) {
    h[x - 1] -= i * b;
    h[x] -= i * a;
    h[x + 1] -= i * b;
    for (int j = 0; j < i; ++j) buffer[times++] = x;
    dfs(x + 1, times);
    h[x - 1] += i * b;
    h[x] += i * a;
    h[x + 1] += i * b;
    times -= i;
  }
}
int main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin >> n >> a >> b;
  for (int i = 1; i <= n; ++i) cin >> h[i];
  ans = 200;
  dfs(2, 0);
  cout << ans << '\n';
  for (int i = 0; i < ans; ++i) cout << res[i] << ' ';
}
