#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using ld = long double;
constexpr ll mod = 998244353;
ll powMod(ll a, ll b, ll n) {
  ll res = 1;
  while (b > 0) {
    if (b & 1) res = (a * res) % n;
    a = (a * a) % n;
    b /= 2;
  }
  return res;
}
string solve(string s) {
  for (ll i = 0; i < (int)(s).size(); i++) {
    if (s[i] == '?') {
      for (char c : {'a', 'b', 'c'}) {
        if (i != 0 && s[i - 1] == c) continue;
        if (i + 1 != (int)(s).size() && s[i + 1] == c) continue;
        s[i] = c;
        break;
      }
    }
  }
  for (ll i = 0; i + 1 < (int)(s).size(); i++) {
    if (s[i] == '?') return "-1";
    if (s[i] == s[i + 1]) return "-1";
  }
  return s;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(nullptr);
  vector<ll> in(4);
  for (ll i = 0; i < 4; i++) cin >> in[i];
  for (ll i = 0; i <= 4; i++) {
    {
      ll last = i;
      vector<ll> temp = in;
      vector<ll> res;
      while ((int)(res).size() < in[0] + in[1] + in[2] + in[3]) {
        bool ok = false;
        for (ll j = -1; j <= 1; j += 2) {
          if (j + last < 0 || j + last >= 4 || temp[j + last] == 0) continue;
          last += j;
          temp[last]--;
          res.push_back(last);
          ok = true;
          break;
        }
        if (!ok) break;
      }
      if ((int)(res).size() != in[0] + in[1] + in[2] + in[3]) continue;
      cout << "YES" << endl;
      for (ll x : res) {
        cout << x << " ";
      }
      cout << endl;
      return 0;
    }
  }
  cout << "NO" << endl;
}
