#include <bits/stdc++.h>
using namespace std;
void solve() {
  long long n, p, d, w;
  cin >> n >> p >> w >> d;
  vector<int> g;
  int xx = w % d;
  for (int i = 0; i < d; i++)
    if (i * 1ll * xx % d == p % d) g.push_back(i);
  if (g.size() == 0) {
    cout << -1;
    return;
  }
  long long mx = p / w;
  int rem = mx % d;
  int id = lower_bound(g.begin(), g.end(), rem) - g.begin();
  if (id >= g.size())
    id = g.size() - 1;
  else if (g[id] > rem)
    if (mx >= d) {
      if (id > 0)
        id--;
      else
        id = g.size() - 1, mx = mx / d * d - 1;
    } else {
      cout << -1;
      return;
    }
  long long x = mx / d * d + g[id];
  if (x * w + (n - x) * d >= p) {
    long long diff = x * w + (n - x) * d - p;
    diff /= d;
    cout << x << " " << n - x - diff << " " << diff;
  } else
    cout << -1;
}
int main() {
  ;
  ios_base::sync_with_stdio(0);
  cin.tie(0);
  cout.tie(0);
  ;
  int tt = 1;
  for (int i = 1; i <= tt; i++) {
    solve();
  }
  return 0;
}
