#include <bits/stdc++.h>
using std::cin;
using std::cout;
long long n, p, w, d, x, y;
long long ex_gcd(long long a, long long b, long long& x, long long& y) {
  if (b == 0) {
    x = 1;
    y = 0;
    return a;
  }
  long long d = ex_gcd(b, a % b, x, y);
  long long temp = x;
  x = y;
  y = temp - a / b * y;
  return d;
}
bool liEu(long long a, long long b, long long& x, long long& y) {
  long long r = ex_gcd(a, b, x, y);
  if (p % r != 0) return false;
  long long o = p / r;
  long long k = w / r;
  y = (y * (o % k) % k);
  y = (y % k + k) % k;
  x = (p - y * d) / w;
  return true;
}
int main() {
  cin >> n >> p >> w >> d;
  if (liEu(w, d, x, y)) {
    if (x + y > n)
      puts("-1");
    else {
      if (x < 0)
        puts("-1");
      else
        cout << x << " " << y << " " << n - x - y;
    }
    return 0;
  } else {
    puts("-1");
    return 0;
  }
}
