#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 10;
const long long mod = 1e9 + 7;
const int inf = 0x3f3f3f;
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  int cnt = (a > 0) + (b > 0) + (c > 0) + (d > 0);
  if (cnt == 1) {
    if (a > 0) {
      if (a == 1) {
        printf("YES\n0\n");
      } else
        printf("NO\n");
    }
    if (b > 0) {
      if (b == 1) {
        printf("YES\n1\n");
      } else
        printf("NO\n");
    }
    if (c > 0) {
      if (c == 1) {
        printf("YES\n2\n");
      } else
        printf("NO\n");
    }
    if (d > 0) {
      if (d == 1) {
        printf("YES\n3\n");
      } else
        printf("NO\n");
    }
    return 0;
  }
  if (c == d && c == 0 && a == b + 1) {
    printf("YES\n0 ");
    for (int i = 1; i <= b; i++) printf("1 0 ");
    return 0;
  }
  if (a == b && a == 0 && d == c + 1) {
    printf("YES\n3 ");
    for (int i = 1; i <= c; i++) {
      printf("2 3 ");
    }
    return 0;
  }
  if (a > b || d > c) {
    printf("NO\n");
    return 0;
  }
  int x, y;
  x = b - a;
  y = c - d;
  if (abs(x - y) > 1) {
    printf("NO\n");
    return 0;
  }
  printf("YES\n");
  if (x == y) {
    for (int i = 1; i <= a; i++) {
      printf("0 1 ");
    }
    for (int i = 1; i <= x; i++) {
      printf("2 1 ");
    }
    for (int i = 1; i <= d; i++) {
      printf("2 3 ");
    }
  } else if (x < y) {
    for (int i = 1; i <= a; i++) {
      printf("0 1 ");
    }
    for (int i = 1; i <= x; i++) {
      printf("2 1 ");
    }
    for (int i = 1; i <= d; i++) {
      printf("2 3 ");
    }
    printf("2\n");
  } else {
    printf("1 ");
    for (int i = 1; i <= a; i++) {
      printf("0 1 ");
    }
    for (int i = 1; i <= y; i++) {
      printf("2 1 ");
    }
    for (int i = 1; i <= d; i++) {
      printf("2 3 ");
    }
  }
  return 0;
}
