#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#pragma GCC target("avx,avx2,fma")
using namespace std;
const int N = (int)1e5 + 5;
const int INF = 0x3f3f3f3f;
int a[10];
bool ok(int a, int b) { return (2 * a >= b); }
int main() {
  cin >> a[1] >> a[2] >> a[3] >> a[4];
  for (int f = a[1]; f <= a[1] * 2; f++) {
    for (int m = a[2]; m <= a[2] * 2; m++) {
      for (int s = a[3]; s <= a[3] * 2; s++) {
        if (f > m && m > s && a[4] <= min({s, m, f}) && ok(a[4], s) &&
            !ok(a[4], m) && !ok(a[4], f)) {
          cout << f << endl;
          cout << m << endl;
          cout << s << endl;
          return 0;
        }
      }
    }
  }
  puts("-1");
}
