#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(0);
  ;
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  if ((abs(a - b) > 1 && c + d == 0) || (abs(d - c) > 1 && a + b == 0))
    return cout << "NO", 0;
  if (c + d == 0) {
    cout << "YES\n";
    if (b > a) {
      cout << 1 << ' ';
      b--;
    }
    for (int i = 0; i < a + b; i++)
      if (i & 1)
        cout << 1 << ' ';
      else
        cout << 0 << ' ';
    return 0;
  }
  if (a + b == 0) {
    cout << "YES\n";
    if (d > c) {
      cout << 3 << ' ';
      d--;
    }
    for (int i = 0; i < c + d; i++)
      if (i & 1)
        cout << 3 << ' ';
      else
        cout << 2 << ' ';
    return 0;
  }
  if (a - b > 0 || d - c > 0 || abs(b + d - (a + c)) > 1)
    return cout << "NO", 0;
  deque<int> ans;
  while (a != 0) {
    ans.push_back(0);
    ans.push_back(1);
    a--;
    b--;
  }
  deque<int> ans2;
  while (d != 0) {
    ans2.push_front(3);
    ans2.push_front(2);
    d--;
    c--;
  }
  if (b > c) {
    ans.push_front(1);
    b--;
  }
  if (c > b) {
    ans2.push_back(2);
    c--;
  }
  cout << "YES\n";
  for (auto i : ans) cout << i << ' ';
  while (b + c != 0) {
    cout << 2 << ' ' << 1 << ' ';
    b--;
    c--;
  }
  for (auto i : ans2) cout << i << ' ';
  return 0;
}
