#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  if (b + 1 == a) {
    if (c == 0 && d == 0) {
      cout << "YES\n";
      cout << 0 << ' ';
      for (int i = 0; i < b; i++) cout << 1 << ' ' << 0 << ' ';
      return 0;
    } else {
      cout << "NO";
      return 0;
    }
  }
  if (c + 1 == d) {
    if (a == 0 && b == 0) {
      cout << "YES\n";
      cout << 3 << ' ';
      for (int i = 0; i < c; i++) cout << 2 << ' ' << 3 << ' ';
      return 0;
    } else {
      cout << "NO";
      return 0;
    }
  }
  if (b < a || c < d) {
    cout << "NO";
    return 0;
  }
  string start = "", ed = "";
  for (int i = 0; i < a; i++) start += "01";
  b -= a;
  a = 0;
  for (int i = 0; i < d; i++) ed += "32";
  c -= d;
  d = 0;
  if (b == c) {
    for (int i = 0; i < c; i++) start += "21";
    reverse(ed.begin(), ed.end());
    start = start + ed;
    cout << "YES\n";
    for (int i = 0; i < int(start.size()); i++) cout << start[i] << ' ';
    return 0;
  } else {
    if (c - 1 == b) {
      ed = '2' + ed;
      --c;
      cout << "YES\n";
      for (int i = 0; i < c; i++) start += "21";
      reverse(ed.begin(), ed.end());
      start = start + ed;
      for (int i = 0; i < int(start.size()); i++) cout << start[i] << ' ';
      return 0;
    }
    if (b - 1 == c) {
      start = '1' + start;
      --b;
      cout << "YES\n";
      for (int i = 0; i < c; i++) start += "21";
      reverse(ed.begin(), ed.end());
      start = start + ed;
      for (int i = 0; i < int(start.size()); i++) cout << start[i] << ' ';
      return 0;
    }
    cout << "NO";
    return 0;
  }
  return 0;
}
