#include <bits/stdc++.h>
int main() {
  int father, mother, son, masha;
  int car1, car2, car3;
  scanf("%d %d %d %d", &father, &mother, &son, &masha);
  bool flag = false;
  for (car3 = ((son) > (masha) ? (son) : (masha));
       car3 <= ((2 * son) > (2 * masha) ? (2 * masha) : (2 * son)) &&
       flag == false;
       ++car3) {
    for (car2 = ((mother) > (((car3 + 1) > (2 * masha + 1) ? (car3 + 1)
                                                           : (2 * masha + 1)))
                     ? (mother)
                     : (((car3 + 1) > (2 * masha + 1) ? (car3 + 1)
                                                      : (2 * masha + 1))));
         car2 <= 2 * mother && flag == false; ++car2) {
      for (car1 = ((father) > (((car2 + 1) > (2 * masha + 1) ? (car2 + 1)
                                                             : (2 * masha + 1)))
                       ? (father)
                       : (((car2 + 1) > (2 * masha + 1) ? (car2 + 1)
                                                        : (2 * masha + 1))));
           car1 <= 2 * father && flag == false; ++car1) {
        flag = true;
        printf("%d\n%d\n%d", car1, car2, car3);
      }
    }
  }
  if (flag == false) {
    printf("-1");
  }
  return 0;
}
