#include <bits/stdc++.h>
using namespace std;
const int N = 20;
int h[N];
int ans = 1 << 30;
vector<int> T, T2;
int n, a, b;
void dfs(int cur, int times) {
  if (times >= ans) return;
  if (cur == n) {
    if (h[cur] < 0) {
      T2 = T;
      ans = times;
    }
    return;
  }
  for (int i = 0;
       i <= max(h[cur - 1] / b + 1, max(h[cur] / a + 1, h[cur + 1] / b + 1));
       ++i) {
    if (h[cur - 1] < b * i) {
      h[cur - 1] -= b * i, h[cur] -= a * i, h[cur + 1] -= b * i;
      for (int j = 0; j < i; ++j) T.push_back(cur);
      dfs(cur + 1, times + i);
      for (int j = 0; j < i; ++j) T.pop_back();
      h[cur - 1] += b * i, h[cur] += a * i, h[cur + 1] += b * i;
    }
  }
}
int main() {
  cin >> n >> a >> b;
  for (int i = 1; i <= n; ++i) cin >> h[i];
  dfs(2, 0);
  cout << ans << endl;
  for (auto &x : T2) cout << x << " ";
  cout << endl;
  return 0;
}
