#include <bits/stdc++.h>
using namespace std;
const int maxn = 400005;
int cnt[4], ogi[4];
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  cnt[0] = a, cnt[1] = b, cnt[2] = c, cnt[3] = d;
  int n = a + b + c + d;
  for (int i = 0; i < 4; i++) {
    if (!cnt[i]) continue;
    for (int j = 0; j < 4; j++) ogi[j] = cnt[j];
    vector<int> v;
    ogi[i]--;
    v.push_back(i);
    while (1) {
      if (v.back() > 0 && ogi[v.back() - 1]) {
        ogi[v.back() - 1]--;
        v.push_back(v.back() - 1);
      } else {
        if (v.back() < 3 && ogi[v.back() + 1]) {
          ogi[v.back() + 1]--;
          v.push_back(v.back() + 1);
        } else
          break;
      }
    }
    if (v.size() == n) {
      cout << "YES" << endl;
      for (int j = 0; j < n; j++) cout << v[j] << " ";
      cout << endl;
      return 0;
    }
  }
  cout << "NO" << endl;
  return 0;
}
