#include <bits/stdc++.h>
using namespace std;
const int N = 1e5 + 5, inf = 1e9;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int cnt[5];
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  int tot = 0;
  for (int i = 0; i < 4; i++) {
    cin >> cnt[i];
    tot += cnt[i];
  }
  for (int i = 0; i < 4; i++) {
    if (cnt[i]) {
      vector<int> tmp(5), res;
      for (int j = 0; j < 4; j++) {
        tmp[j] = cnt[j];
      }
      res.push_back(i);
      tmp[i]--;
      int last = i;
      for (int j = 0; j < tot - 1; j++) {
        if (last > 0 && tmp[last - 1] > 0) {
          tmp[last - 1]--;
          last--;
          res.push_back(last);
        } else if (tmp[last + 1] > 0) {
          tmp[last + 1]--;
          last++;
          res.push_back(last);
        } else {
          break;
        }
      }
      if ((int)res.size() == tot) {
        cout << "YES\n";
        for (auto x : res) {
          cout << x << ' ';
        }
        cout << '\n';
        return 0;
      }
    }
  }
  cout << "NO\n";
  return 0;
}
