#include <bits/stdc++.h>
using namespace std;
int arr[4];
int aux[100010];
int next(int x) {
  if (x == 0) {
    if (arr[1] > 0)
      return 1;
    else
      return -1;
  }
  if (x == 1) {
    if (arr[0] > 0)
      return 0;
    else if (arr[2] > 0)
      return 2;
    else
      return -1;
  }
  if (x == 2) {
    if (arr[1] > 0)
      return 1;
    else if (arr[3] > 0)
      return 3;
    else
      return -1;
  }
  if (x == 3) {
    if (arr[2] > 0)
      return 2;
    else
      return -1;
  }
}
int arrini[4];
int n;
void ok() {
  cout << "YES\n";
  for (int i = 0; i < n; i++) cout << aux[i] << " ";
  cout << "\n";
}
bool tenta(int ini) {
  for (int i = 0; i < 4; i++) arr[i] = arrini[i];
  arr[ini]--;
  aux[0] = ini;
  for (int i = 1; i < n; i++) {
    int nex = next(aux[i - 1]);
    if (nex == -1) return false;
    aux[i] = nex;
    arr[nex]--;
  }
  return true;
}
int main() {
  ios_base::sync_with_stdio(false);
  cin >> arrini[0] >> arrini[1] >> arrini[2] >> arrini[3];
  for (int i = 0; i < 4; i++) arr[i] = arrini[i];
  n = arr[0] + arr[1] + arr[2] + arr[3];
  if (arrini[0] > 0) {
    if (tenta(0)) {
      ok();
      return 0;
    }
  }
  if (arrini[1] > 0) {
    if (tenta(1)) {
      ok();
      return 0;
    }
  }
  if (arrini[2] > 0) {
    if (tenta(2)) {
      ok();
      return 0;
    }
  }
  if (arrini[3] > 0) {
    if (tenta(3)) {
      ok();
      return 0;
    }
  }
  cout << "NO\n";
}
