#include <bits/stdc++.h>
#pragma comment(linker, "/STACK:16777216")
using namespace std;
const int maxn = 110000;
int n, a, b;
int h[20];
vector<int> cur;
vector<int> ans;
void sear(int c) {
  if (c == n - 1) {
    int prev = h[c - 1];
    int thiss = h[c];
    int next = h[c + 1];
    while (h[c - 1] >= 0 || h[c] >= 0 || h[c + 1] >= 0) {
      h[c - 1] -= b;
      h[c] -= a;
      h[c + 1] -= b;
      cur.push_back(c);
    }
    if (cur.size() < ans.size() || ans.size() == 0) ans = cur;
    h[c - 1] = prev;
    h[c] = thiss;
    h[c + 1] = next;
    while (!cur.empty()) {
      if (cur.back() == c)
        cur.pop_back();
      else
        break;
    }
    return;
  }
  int prev = h[c - 1];
  int thiss = h[c];
  int next = h[c + 1];
  while (h[c - 1] >= 0) {
    h[c - 1] -= b;
    h[c] -= a;
    h[c + 1] -= b;
    cur.push_back(c);
  }
  sear(c + 1);
  while (h[c] >= 0) {
    h[c] -= a;
    h[c + 1] -= b;
    cur.push_back(c);
    sear(c + 1);
  }
  h[c - 1] = prev;
  h[c] = thiss;
  h[c + 1] = next;
  while (!cur.empty()) {
    if (cur.back() == c)
      cur.pop_back();
    else
      break;
  }
  return;
}
int main() {
  cin >> n >> a >> b;
  for (long long i = 1; i <= (int)n; i++) cin >> h[i];
  sear(2);
  cout << ans.size() << endl;
  for (long long i = 0; i < (int)ans.size(); i++) cout << ans[i] << " ";
  return 0;
}
