#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5;
int a, b, c, d;
int zero, one;
int n;
int ans[N];
void no() {
  cout << "NO\n";
  exit(0);
}
bool test() {
  for (int i = zero; i <= n; i += 2) ans[i] = 0;
  for (int i = one; i <= n; i += 2) ans[i] = 1;
  int two = zero;
  for (int i = 1; i <= c; i++) {
    if (two > n) break;
    ans[two] = 2;
    two += 2;
  }
  int three = one;
  for (int i = 1; i <= d; i++) {
    if (three > n) break;
    ans[three] = 3;
    three += 2;
  }
  bool ok = 1;
  if (count(ans + 1, ans + n + 1, 0) != a) ok = 0;
  if (count(ans + 1, ans + n + 1, 1) != b) ok = 0;
  if (count(ans + 1, ans + n + 1, 2) != c) ok = 0;
  if (count(ans + 1, ans + n + 1, 3) != d) ok = 0;
  for (int i = 1; i < n; i++) {
    if (abs(ans[i] - ans[i + 1]) != 1) ok = 0;
  }
  return ok;
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cin >> a >> b >> c >> d;
  n = a + b + c + d;
  int odd = (n + 1) / 2;
  int even = n / 2;
  if (odd == a + c && even == b + d) {
    zero = 1;
    one = 2;
  } else if (odd == b + d && even == a + c) {
    one = 1;
    zero = 2;
  } else
    no();
  if (test()) {
    cout << "YES\n";
    for (int i = 1; i <= n; i++) cout << ans[i] << " ";
    cout << "\n";
    return 0;
  }
  if (odd != even) no();
  zero = 2;
  one = 1;
  if (test()) {
    cout << "YES\n";
    for (int i = 1; i <= n; i++) cout << ans[i] << " ";
    cout << "\n";
  } else
    no();
  return 0;
}
