#include <bits/stdc++.h>
using namespace std;
long long GCD(long long a, long long b) {
  if (a == 0) return b;
  return GCD(b % a, a);
}
int main() {
  long long n, p, w, d;
  cin >> n >> p >> w >> d;
  long long k = GCD(w, d);
  if (p % k != 0) {
    cout << -1;
    return 0;
  } else {
    p /= k;
    w /= k;
    d /= k;
    long long r1 = -1, r2 = -1;
    for (r1 = 0; r1 < w; r1++) {
      if (((r1 * d) % w) == (p % w)) break;
    }
    for (r2 = 0; r2 < d; r2++) {
      if (((r2 * w) % d) == (p % d)) break;
    }
    if (r1 == -1 || r2 == -1) {
      cout << -1;
      return 0;
    }
    long long ans1 = r1;
    long long ans2 = r2;
    long long sum = w * r2 + d * r1;
    if (sum > p) {
      cout << -1;
      return 0;
    }
    if ((p - sum) % (w * d) == 0) {
      ans2 += (p - sum) / w;
      sum = p;
    }
    if (sum == p) {
      if (ans1 + ans2 <= n) {
        cout << ans2 << ' ' << ans1 << ' ' << n - ans1 - ans2;
      } else {
        cout << -1;
      }
    } else {
      cout << -1;
    }
  }
  return 0;
}
