#include <bits/stdc++.h>
using namespace std;
string s;
bool solve1(long long a, long long b, long long c, long long d) {
  if (a > b && (c != 0 || d != 0)) {
    s.clear();
    return false;
  } else if (a > b + 1) {
    s.clear();
    return false;
  } else if (a == b + 1 && c == 0 && d == 0) {
    s.push_back('0');
    for (long long int i = 0; i < b; i++) {
      s.push_back('1');
      s.push_back('0');
    }
    return true;
  } else if (a == b) {
    for (long long int i = 0; i < a; i++) {
      s.push_back('0');
      s.push_back('1');
    }
    b = 0;
  } else {
    s.push_back('1');
    for (long long int i = 0; i < a; i++) {
      s.push_back('0');
      s.push_back('1');
    }
    b = b - a - 1;
  }
  if (b > c) {
    s.clear();
    return false;
  }
  if (b == c) {
    if (d != 0) {
      s.clear();
      return false;
    } else {
      for (long long int i = 0; i < b; i++) {
        s.push_back('2');
        s.push_back('1');
      }
      return true;
    }
  } else {
    s.push_back('2');
    for (long long int i = 0; i < b; i++) {
      s.push_back('1');
      s.push_back('2');
    }
    c = c - b - 1;
  }
  if (c > d) {
    s.clear();
    return false;
  } else if (c == d) {
    for (long long int i = 0; i < c; i++) {
      s.push_back('3');
      s.push_back('2');
    }
    return true;
  } else {
    s.push_back('3');
    for (long long int i = 0; i < c; i++) {
      s.push_back('2');
      s.push_back('3');
    }
    d = d - c - 1;
  }
  if (d > 0) {
    s.clear();
    return false;
  } else {
    return true;
  }
}
bool solve2(long long a, long long b, long long c, long long d) {
  if (a > b && (c != 0 || d != 0)) {
    s.clear();
    return false;
  } else if (a > b + 1) {
    s.clear();
    return false;
  } else if (a == b + 1 && c == 0 && d == 0) {
    s.push_back('0');
    for (long long int i = 0; i < b; i++) {
      s.push_back('1');
      s.push_back('0');
    }
    return true;
  } else if (a == b) {
    for (long long int i = 0; i < a; i++) {
      s.push_back('0');
      s.push_back('1');
    }
    b = 0;
  } else {
    for (long long int i = 0; i < a; i++) {
      s.push_back('0');
      s.push_back('1');
    }
    b = b - a;
  }
  if (b > c) {
    s.clear();
    return false;
  }
  if (b == c) {
    if (d != 0) {
      s.clear();
      return false;
    } else {
      for (long long int i = 0; i < b; i++) {
        s.push_back('2');
        s.push_back('1');
      }
      return true;
    }
  } else {
    s.push_back('2');
    for (long long int i = 0; i < b; i++) {
      s.push_back('1');
      s.push_back('2');
    }
    c = c - b - 1;
  }
  if (c > d) {
    s.clear();
    return false;
  } else if (c == d) {
    for (long long int i = 0; i < c; i++) {
      s.push_back('3');
      s.push_back('2');
    }
    return true;
  } else {
    s.push_back('3');
    for (long long int i = 0; i < c; i++) {
      s.push_back('2');
      s.push_back('3');
    }
    d = d - c - 1;
  }
  if (d > 0) {
    s.clear();
    return false;
  } else {
    return true;
  }
}
void solve() {
  long long a, b, c, d;
  cin >> a >> b >> c >> d;
  if (a == 0 && b == 0) {
    if (c == d) {
      cout << "YES\n";
      for (long long int i = 0; i < c; i++) {
        cout << 2 << " " << 3 << " ";
      }
      cout << '\n';
      return;
    } else if (c == d + 1) {
      cout << "YES\n";
      for (long long int i = 0; i < d; i++) {
        cout << 2 << " " << 3 << " ";
      }
      cout << 2 << " ";
      cout << '\n';
      return;
    } else if (d == c + 1) {
      cout << "YES\n";
      cout << 3 << " ";
      for (long long int i = 0; i < c; i++) {
        cout << 2 << " " << 3 << " ";
      }
      cout << '\n';
      return;
    } else {
      cout << "NO\n";
      return;
    }
  }
  if (!solve1(a, b, c, d)) {
    if (!solve2(a, b, c, d)) {
      cout << "NO\n";
      return;
    } else {
      cout << "YES\n";
      for (long long int i = 0; i < s.length(); i++) {
        cout << s[i] << " ";
      }
      cout << '\n';
      return;
    }
  } else {
    cout << "YES\n";
    for (long long int i = 0; i < s.length(); i++) {
      cout << s[i] << " ";
    }
    cout << '\n';
    return;
  }
}
signed main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  long long test = 1;
  while (test--) solve();
  return 0;
}
