#include <bits/stdc++.h>
using namespace std;
int a[5], b[5];
vector<int> ans;
bool solve(int cur) {
  ans.clear();
  for (int i = 0; i < 4; i++) a[i] = b[i];
  while (1) {
    if (a[cur] == 0) break;
    a[cur]--;
    ans.push_back(cur);
    if (cur == 3) {
      cur--;
    } else if (cur == 0) {
      cur++;
    } else {
      if (a[cur - 1] > 0)
        cur--;
      else
        cur++;
    }
  }
  for (int i = 0; i < 4; i++)
    if (a[i] > 0) return false;
  return true;
}
int main() {
  for (int i = 0; i < 4; i++) scanf("%d", &b[i]);
  for (int i = 0; i < 4; i++) {
    if (solve(i)) {
      puts("YES");
      for (int j = 0; j < (int)ans.size(); j++) {
        printf("%d%c", ans[j], j < (int)ans.size() - 1 ? ' ' : '\n');
      }
      return 0;
    }
  }
  puts("NO");
  return 0;
}
