#include <bits/stdc++.h>
using namespace std;
using pii = pair<int, int>;
const int maxn = 5e5 + 5;
int a, b, c, d;
int p[maxn], ans[maxn];
int main() {
  scanf("%d %d %d %d", &a, &b, &c, &d);
  p[1] = a, p[2] = b, p[3] = c, p[4] = d;
  int n = a + b + c + d, now = 0, f = 0;
  if (!now && a) now = 1, p[1]--;
  if (!now && b) now = 2, p[2]--;
  if (!now && c) now = 3, p[3]--;
  if (!now && d) now = 4, p[4]--;
  ans[1] = now - 1;
  for (int i = 2; i <= n; i++) {
    if (p[now - 1]) {
      now--;
      p[now]--;
      ans[i] = now - 1;
    } else if (p[now + 1]) {
      now++;
      p[now]--;
      ans[i] = now - 1;
    } else
      f = 1;
  }
  if (!f) {
    puts("YES");
    for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
    return 0;
  }
  p[1] = a, p[2] = b, p[3] = c, p[4] = d;
  n = a + b + c + d, now = 0, f = 0;
  if (!now && b) now = 2, p[2]--;
  if (!now && a) now = 1, p[1]--;
  if (!now && c) now = 3, p[3]--;
  if (!now && d) now = 4, p[4]--;
  ans[1] = now - 1;
  for (int i = 2; i <= n; i++) {
    if (p[now - 1]) {
      now--;
      p[now]--;
      ans[i] = now - 1;
    } else if (p[now + 1]) {
      now++;
      p[now]--;
      ans[i] = now - 1;
    } else
      f = 1;
  }
  if (!f) {
    puts("YES");
    for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
    return 0;
  }
  p[1] = a, p[2] = b, p[3] = c, p[4] = d;
  n = a + b + c + d, now = 0, f = 0;
  if (!now && c) now = 3, p[3]--;
  if (!now && a) now = 1, p[1]--;
  if (!now && b) now = 2, p[2]--;
  if (!now && d) now = 4, p[4]--;
  ans[1] = now - 1;
  for (int i = 2; i <= n; i++) {
    if (p[now - 1]) {
      now--;
      p[now]--;
      ans[i] = now - 1;
    } else if (p[now + 1]) {
      now++;
      p[now]--;
      ans[i] = now - 1;
    } else
      f = 1;
  }
  if (!f) {
    puts("YES");
    for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
    return 0;
  }
  p[1] = a, p[2] = b, p[3] = c, p[4] = d;
  n = a + b + c + d, now = 0, f = 0;
  if (!now && d) now = 4, p[4]--;
  if (!now && a) now = 1, p[1]--;
  if (!now && c) now = 3, p[3]--;
  if (!now && b) now = 2, p[2]--;
  ans[1] = now - 1;
  for (int i = 2; i <= n; i++) {
    if (p[now - 1]) {
      now--;
      p[now]--;
      ans[i] = now - 1;
    } else if (p[now + 1]) {
      now++;
      p[now]--;
      ans[i] = now - 1;
    } else
      f = 1;
  }
  if (!f) {
    puts("YES");
    for (int i = 1; i <= n; i++) printf("%d ", ans[i]);
    return 0;
  } else
    puts("NO");
}
