#include <bits/stdc++.h>
using namespace std;
int A[4];
bool can(int ind, bool flag = false) {
  int tmp[4];
  memcpy(tmp, A, sizeof(A));
  while (1) {
    if (ind < 0 || tmp[ind] == 0) break;
    if (flag) cout << ind << ' ';
    tmp[ind]--;
    if (ind < 3 && tmp[ind + 1] > 0)
      ind++;
    else
      ind--;
  }
  return tmp[0] + tmp[1] + tmp[2] + tmp[3] == 0 ? true : false;
}
int main() {
  for (int i = 0; i < 4; i++) cin >> A[i];
  for (int i = 0; i < 4; i++) {
    if (can(i)) {
      cout << "YES\n";
      can(i, true);
      return 0;
    }
  }
  cout << "NO\n";
  return 0;
}
