#include <bits/stdc++.h>
using namespace std;
inline bool scan_d(long long &num) {
  char in;
  bool IsN = false;
  in = getchar();
  if (in == EOF) return false;
  while (in != '-' && (in < '0' || in > '9')) in = getchar();
  if (in == '-') {
    IsN = true;
    num = 0;
  } else
    num = in - '0';
  while (in = getchar(), in >= '0' && in <= '9') {
    num *= 10, num += in - '0';
  }
  if (IsN) num = -num;
  return true;
}
int main() {
  long long n, p;
  long long w, d;
  scan_d(n), scan_d(p), scan_d(w), scan_d(d);
  if (w > d) {
    long long i = 0;
    while ((p - i * d) % w && i <= w) {
      i++;
    }
    long long k = (p - i * d) / w;
    if (i > w || k < 0) {
      printf("-1\n");
      return 0;
    }
    if (k + i <= n) {
      printf("%lld %lld %lld\n", k, i, n - k - i);
    } else {
      printf("-1\n");
    }
  } else {
    long long i = 0;
    while ((p - i * w) % d && i <= d) {
      i++;
    }
    long long k = (p - i * w) / d;
    if (i > d || k < 0) {
      printf("-1\n");
      return 0;
    }
    if (k + i <= n) {
      printf("%lld %lld %lld\n", i, k, n - k - i);
    } else {
      printf("-1\n");
    }
  }
  return 0;
}
