#include <bits/stdc++.h>
using namespace std;
int main() {
  int a, b, c, d;
  cin >> a >> b >> c >> d;
  if (abs(a + c - b - d) > 1) {
    cout << "NO\n";
  } else {
    vector<int> v(a + b + c + d);
    if (a + c > b + d) {
      for (int i = 0; i < v.size(); i += 2) {
        if (a) {
          v[i] = 0;
          a--;
        } else {
          v[i] = 2;
          c--;
        }
      }
      for (int i = 1; i < v.size(); i += 2) {
        if (b) {
          v[i] = 1;
          b--;
        } else {
          v[i] = 3;
          d--;
        }
      }
    } else {
      for (int i = 1; i < v.size(); i += 2) {
        if (a) {
          v[i] = 0;
          a--;
        } else {
          v[i] = 2;
          c--;
        }
      }
      for (int i = 0; i < v.size(); i += 2) {
        if (b) {
          v[i] = 1;
          b--;
        } else {
          v[i] = 3;
          d--;
        }
      }
    }
    bool check = true;
    for (int i = 0; i < (int)v.size() - 1; i++) {
      if (abs(v[i] - v[i + 1]) != 1) {
        check = false;
        break;
      }
    }
    if (a + c == b + d && check == false) {
      for (int i = 0; i < (int)v.size() - 1; i += 2) {
        swap(v[i], v[i + 1]);
      }
      check = true;
      for (int i = 0; i < (int)v.size() - 1; i++) {
        if (abs(v[i] - v[i + 1]) != 1) {
          check = false;
          break;
        }
      }
    }
    if (check) {
      cout << "YES\n";
      for (int i : v) cout << i << " ";
      cout << "\n";
    } else
      cout << "NO";
  }
  return 0;
}
