#include <bits/stdc++.h>
using namespace std;
int a[4];
int cur[100005];
void work(int x, int y, int z, int w, int tp) {
  if (x + z < y + w) return;
  if (x + z >= y + w + 2) return;
  int nlen = x + y + z + w;
  for (int pl = 1; pl <= nlen; pl += 2) {
    if (x)
      cur[pl] = 0, x--;
    else
      cur[pl] = 2, z--;
  }
  for (int pl = 2; pl <= nlen; pl += 2) {
    if (y)
      cur[pl] = 1, y--;
    else
      cur[pl] = 3, w--;
  }
  for (int pl = 1; pl < nlen; pl++)
    if (abs(cur[pl] - cur[pl + 1]) != 1) return;
  printf("YES\n");
  for (int i = 1; i <= nlen; i++) {
    if (tp)
      printf("%d ", 3 - cur[i]);
    else
      printf("%d ", cur[i]);
  }
  exit(0);
}
int main() {
  cin >> a[0] >> a[1] >> a[2] >> a[3];
  work(a[0], a[1], a[2], a[3], 0);
  work(a[3], a[2], a[1], a[0], 1);
  printf("NO\n");
  return 0;
}
