"use strict";

/**
 * Resolves problem.
 * @param  {string} input
 * @returns {string}
 */
var main = function(input) {
    const params = input.split(" ").map(x => parseInt(x));
    const N = params[0];
    const Y = params[1];

    // 1. 10000x + 5000y + 1000z = Y
    // 2. x + y + z = N
    // したがって x = -(y + z) + N である。
    // これを 2. 式に代入した -5000y - 9000z + 10000N = Y となる y, z の組み合わせを検索する。
    // ただし 0 <= y <= N, 0 <= z <= N, y + z <= N である。
    for (let y = 0; y <= N; y++) {
        for (let z = 0; z <= N; z++) {
            if ((y + z) > N)
                break;
            const matches = ((-5000 * y) + (-9000 * z) + (10000 * N)) === Y;
            if (matches) {
                const x = N - (y + z);
                return [x, y, z].join(" ");
            }
        }
    }
    return [-1, -1, -1].join(" ");
};

const output = main(require("fs").readFileSync("/dev/stdin", "utf8"));
console.log(output); // console.log outputs with trailing new line!
