#include <bits/stdc++.h>
std::mt19937 rnd(237);
using namespace std;
using ll = long long;
const long long mxn = 100005;
long long a, b, c, d;
void solve() {
  cin >> a >> b >> c >> d;
  long long a0 = a, b0 = b, c0 = c, d0 = d;
  for (long long prev0 = 0; prev0 < 4; ++prev0) {
    a = a0, b = b0, c = c0, d = d0;
    long long prev = prev0;
    vector<long long> seq(0);
    while (a + b + c + d > 0) {
      if (prev == 0) {
        if (b > 0) {
          --b;
          seq.push_back(1);
          prev = 1;
        } else
          goto end;
      } else if (prev == 1) {
        if (a > 0) {
          --a;
          seq.push_back(0);
          prev = 0;
        } else if (c > 0) {
          --c;
          seq.push_back(2);
          prev = 2;
        } else
          goto end;
      } else if (prev == 2) {
        if (d > 0) {
          --d;
          seq.push_back(3);
          prev = 3;
        } else if (b > 0) {
          --b;
          seq.push_back(1);
          prev = 1;
        } else
          goto end;
      } else if (prev == 3) {
        if (c > 0) {
          --c;
          seq.push_back(2);
          prev = 2;
        } else
          goto end;
      }
    }
  end:
    if (!(a + b + c + d)) {
      cout << "YES\n";
      for (auto x : seq) cout << x << " ";
      return;
    }
  }
  cout << "NO";
}
signed main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  long long test_case = 1;
  for (long long i = 0; i < test_case; ++i) {
    solve();
    cout << "\n";
  }
}
