#include <bits/stdc++.h>
using namespace std;
const long long mod = 1e9 + 7;
const int N = 2e5 + 4;
int main() {
  int a[4] = {0}, sz = 0;
  for (int i = 0; i < 4; i++) scanf("%d", &a[i]), sz += a[i];
  int sum = sz;
  sz += 8;
  int arr[sz];
  memset(arr, -1, sizeof(arr));
  if (a[2]) {
    if (a[0]) {
      if (a[1] >= a[0] and a[1] + a[3] >= a[0] + a[2] - 1 and
          a[1] + a[3] <= a[0] + a[2] + 1 and a[3] <= a[2]) {
        printf("YES\n");
        int ind = 1;
        while (a[0]--) arr[ind] = 0, ind += 2;
        int tind = ind - 1;
        while (a[1] and tind > 0) {
          a[1]--;
          arr[tind] = 1;
          tind -= 2;
        }
        tind = ind + 1;
        while (a[2]--) arr[ind] = 2, ind += 2;
        while (a[3]--) arr[tind] = 3, tind += 2;
        while (a[1] && tind < sum) a[1]--, arr[tind] = 1, tind += 2;
        if (a[1] > 0) arr[0] = 1;
        for (int i = 0; i < sz; i++)
          if (arr[i] != -1) printf("%d ", arr[i]);
      } else
        printf("NO");
    } else {
      if (a[1] + a[3] >= a[2] - 1 and a[1] + a[3] <= a[2] + 1) {
        printf("YES\n");
        int ind = 1;
        while (a[2]--) arr[ind] = 2, ind += 2;
        ind = 2;
        while (a[1] and ind < sum) arr[ind] = 1, ind += 2, a[1]--;
        while (a[3] and ind < sum) arr[ind] = 3, ind += 2, a[3]--;
        if (a[1] > 0) arr[0] = 1;
        if (a[3] > 0) arr[0] = 3;
        for (int i = 0; i < sz; i++)
          if (arr[i] != -1) printf("%d ", arr[i]);
      } else
        printf("NO");
    }
  } else {
    if (a[3]) {
      if (a[0] + a[1] == 0) {
        if (a[3] == 1)
          printf("YES\n3");
        else
          printf("NO");
      } else
        printf("NO\n");
    } else {
      if (a[0]) {
        if (a[1] >= a[0] - 1 and a[1] <= a[0] + 1) {
          printf("YES\n");
          int ind = 1;
          while (a[0]--) arr[ind] = 0, ind += 2;
          ind = 2;
          while (a[1] and ind < sum) arr[ind] = 1, ind += 2, a[1]--;
          if (a[1] > 0) arr[0] = 1;
          for (int i = 0; i < sz; i++)
            if (arr[i] != -1) printf("%d ", arr[i]);
        } else
          printf("NO");
      } else {
        if (a[1] == 1)
          printf("YES\n1");
        else
          printf("NO");
      }
    }
  }
  return 0;
}
