#include <bits/stdc++.h>
int bsf(int x) { return __builtin_ctz(x); }
int bsr(int x) { return 31 - __builtin_clz(x); }
using namespace std;
const double pi = 3.14159265358979323846;
const int inf = (int)2e+9 + 2;
const int mod = (int)1e+9 + 7;
const double eps = 1e-8;
const int N = 100000;
int n, m, k;
int v[4];
int ans[3];
void solve() {
  for (auto i = 0; i < 4; ++i) cin >> v[i];
  ans[2] = max(v[2], v[3]);
  ans[1] = max(max(v[1], ans[2] + 1), v[3] * 2 + 1);
  ans[0] = max(v[0], ans[1] + 1);
  bool ok = true;
  for (auto i = 0; i < 3; ++i) {
    if (2 * v[i] < ans[i]) ok = false;
  }
  if (ok && 2 * v[3] >= ans[2]) {
    for (auto i = 0; i < 3; ++i) cout << ans[i] << '\n';
  } else {
    cout << -1;
  }
}
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0), cout.tie(0);
  int test = 1;
  for (; test; --test) solve();
  return 0;
}
