#include <bits/stdc++.h>
using namespace std;
inline long long int gcd(long long int a, long long int b) {
  return a == 0 ? b : gcd(b % a, a);
}
inline long long int lcm(long long int a, long long int b) {
  return a * b / gcd(a, b);
}
template <class T>
inline void rn(T &a) {
  a = 0;
  bool f = false;
  register char c = getchar();
  while (c < '0' or c > '9') {
    if (c == '-') {
      f = true;
    }
    c = getchar();
  }
  while (c >= '0' and c <= '9') {
    a = (a << 1) + (a << 3) + (c & 15);
    c = getchar();
  }
  if (f) {
    a = -a;
  }
}
template <class T>
inline T mx(T a, T b) {
  if (a > b)
    return a;
  else
    return b;
}
int main() {
  long long int n, p, w, d, y, z;
  rn(n), rn(p), rn(w), rn(d);
  for (y = 0; p % w && y < w; y++) p -= d;
  z = n - p / w - y;
  if ((p | z) < 0 || y == w)
    cout << "-1";
  else
    cout << p / w << ' ' << y << ' ' << z;
  return 0;
}
