#include <bits/stdc++.h>
using namespace std;
long long arr[100005];
long long n;
bool check() {
  for (long long j = 0; j < (n - 1); j++) {
    if (abs(arr[j] - arr[j + 1]) != 1) return false;
  }
  return true;
}
int32_t main() {
  ios::sync_with_stdio(false);
  cin.tie(0);
  long long a, b, c, d, i;
  cin >> a >> b >> c >> d;
  n = a + b + c + d;
  long long even[100005];
  long long odd[100005];
  ;
  for (i = 0; i < 1e5; i++) arr[i] = -2, odd[i] = -2, even[i] = -2;
  for (i = 0; i < a + c; i++) {
    if (i < a)
      even[i] = 0;
    else
      even[i] = 2;
  }
  for (i = 0; i < b + d; i++) {
    if (i < b)
      odd[i] = 1;
    else
      odd[i] = 3;
  }
  if (n == 1) {
    cout << "YES\n";
    if (a == 1)
      cout << "0";
    else if (b == 1)
      cout << "1";
    else if (c == 1)
      cout << "2";
    else
      cout << "3";
    return 0;
  }
  for (i = 0; i < n; i += 2) {
    arr[i] = even[(i / 2)];
    arr[i + 1] = odd[i / 2];
  }
  if (check()) {
    cout << "YES\n";
    for (i = 0; i < n; i++) cout << arr[i] << " ";
  } else {
    for (i = 0; i < n; i += 2) {
      arr[i] = odd[(i / 2)];
      arr[i + 1] = even[i / 2];
    }
    if (check()) {
      cout << "YES\n";
      for (i = 0; i < n; i++) cout << arr[i] << " ";
    } else
      cout << "NO";
  }
  return 0;
}
