#include <bits/stdc++.h>
#pragma warning(disable : 4996)
using namespace std;
template <typename T>
T max(T A) {
  return A;
}
template <typename T, typename... args>
T max(T A, T B, args... S) {
  return max(A > B ? A : B, S...);
}
template <typename T>
T min(T A) {
  return A;
}
template <typename T, typename... args>
T min(T A, T B, args... S) {
  return min(A > B ? A : B, S...);
}
template <typename T>
istream& operator>>(istream& in, vector<T>& v) {
  for (auto& x : v) scanf("%d", &x);
  return in;
}
template <typename T>
ostream& operator<<(ostream& in, vector<T>& v) {
  for (auto& x : v) printf("%d ", x);
  return in;
}
long long fast(long long a, long long b, long long pr) {
  if (b == 0) return 1 % pr;
  long long ans = 1 % pr;
  while (b) {
    if (b & 1) {
      ans *= a;
      ans %= pr;
    }
    b >>= 1;
    a *= a;
    a %= pr;
  }
  return ans;
}
int readInt() {
  int n = 0;
  scanf("%d", &n);
  return n;
  int ch = getchar();
  int sign = 1;
  while (ch < '0' || ch > '9') {
    if (ch == '-') sign = -1;
    ch = getchar();
  }
  while (ch >= '0' && ch <= '9')
    n = (n << 3) + (n << 1) + ch - '0', ch = getchar();
  n = n * sign;
  return n;
}
long long inv_(long long val) {
  return fast(val, static_cast<long long>(1e9 + 7) - 2,
              static_cast<long long>(1e9 + 7));
}
class solve {
 public:
  solve() {
    vector<int> v(4);
    cin >> v;
    vector<pair<int, int> > M;
    for (int i = 0; i < 4; i++) {
      M.push_back({v[i], 2 * v[i]});
    }
    for (int i = 0; i < 2; i++) {
      if ((2 * v[3] >= M[i].second) && (v[3] <= M[i].second)) {
        cout << "-1";
        return;
      } else if (M[i].second < v[3]) {
        cout << -1;
        return;
      }
    }
    for (int i = M[2].first; i <= M[2].second; i++) {
      if ((2 * v[3] >= i) && (v[3] <= i)) {
        cout << M[0].second << "\n" << M[1].second << "\n" << i << endl;
        return;
      }
    }
    cout << "-1";
  }
};
int32_t main() {
  int t = 1, i = 1;
  if (0) scanf("%d", &t);
  while (t--) {
    if (0) printf("Case #%d: ", i++);
    new solve;
  }
  return 0;
}
