#include <bits/stdc++.h>
using namespace std;
void logf(istream_iterator<string> it) {}
template <typename T, typename... Args>
void logf(istream_iterator<string> it, T a, Args... args) {
  cout << *it << " = " << a << endl;
  logf(++it, args...);
}
const double PI = acos(-1);
void solve() {
  vector<int> aa(4);
  for (long long i = 0; i < (4); i++) {
    cin >> aa[i];
  };
  const int sum = aa[0] + aa[1] + aa[2] + aa[3];
  for (int i : {0, 1, 2, 3}) {
    vector<int> ans;
    vector<int> a = aa;
    while (a[0] || a[1] || a[2] || a[3]) {
      if (i > 3) break;
      if (a[i]) {
        ans.push_back(i);
        a[i]--;
        if (i > 0 && a[i - 1])
          i--;
        else
          i++;
      } else
        break;
    }
    if (ans.size() == sum) {
      cout << "YES" << endl;
      for (int i : ans) cout << i << " ";
      cout << endl;
      return;
    }
  }
  cout << "NO" << endl;
}
int main() {
  cin.tie(nullptr);
  std::ios::sync_with_stdio(false);
  solve();
}
