import java.util.*;
import java.util.function.Predicate;

public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    }
} import java.util.*; util.* java import java.util.function.Predicate; Predicate java.util.function public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    }
} Main public static void main(String[] args) {
        new Main().run();
    } main {
        new Main().run();
    } new Main().run() new Main().run new Main() String[] args args void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    } run {
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    } Scanner cin = new Scanner(System.in); cin new Scanner(System.in) int N = cin.nextInt(); N cin.nextInt() cin.nextInt cin int Y = cin.nextInt(); Y cin.nextInt() cin.nextInt cin for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        } int A = 0; int A = 0; A 0 A <= N A N A++ A++ A {
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        } {
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        } for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            } int B = 0; int B = 0; B 0 B <= Math.min(N - A, 8) B Math.min(N - A, 8) Math.min Math N - A N A 8 B++ B++ B {
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            } {
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            } int C = N - A - B; C N - A - B N - A - B N A B int Money = 10000 * A + 5000 * B + 1000 * C; Money 10000 * A + 5000 * B + 1000 * C 10000 * A + 5000 * B + 1000 * C 10000 * A 10000 A 5000 * B 5000 B 1000 * C 1000 C if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                } Money == Y Money Y {
                    System.out.println(A + " " + B + " " + C);
                    return;
                } System.out.println(A + " " + B + " " + C) System.out.println System.out System System.out A + " " + B + " " + C " " B A + " " + B + " " + C A " " B " " C return; System.out.println("-1 -1 -1") System.out.println System.out System System.out "-1 -1 -1" public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    }
} public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    }
} Main
import java.util.*;
import java.util.function.Predicate;

public class Main {

    public static void main(String[] args) {
        new Main().run();
    }

    void run(){
        Scanner cin = new Scanner(System.in);
        int N = cin.nextInt();
        int Y = cin.nextInt();

        // 10000円札を0枚からN枚まで全探索する
        for (int A = 0; A <= N; A++){
            // 5000円札を0枚から8枚まで全探索する
            for (int B = 0; B <= Math.min(N - A, 8); B++){
                // 1000円札の枚数を計算する
                int C = N - A - B;
                int Money = 10000 * A + 5000 * B + 1000 * C;
                // 枚数はN枚なので、金額だけ見れば良い。
                if(Money == Y){
                    System.out.println(A + " " + B + " " + C);
                    return;
                }
            }
        }
        System.out.println("-1 -1 -1");
    }
}
