import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	}
} import java.util.Scanner; Scanner java.util public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	}
} Main public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	} main {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	} Scanner sc = new Scanner(System.in); sc new Scanner(System.in) int N = sc.nextInt(); N sc.nextInt() sc.nextInt sc int Y = sc.nextInt(); Y sc.nextInt() sc.nextInt sc boolean flag = false; flag false if(!flag) System.out.printf("-1 -1 -1"); !flag flag System.out.printf("-1 -1 -1") System.out.printf System.out System System.out "-1 -1 -1" sc.close() sc.close sc String[] args args public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	}
} public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	}
} Main
import java.util.Scanner;

public class Main {

	public static void main(String[] args) {

		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int Y = sc.nextInt();
		boolean flag = false;

		A:for(int x = 0; x <= Math.min(Y/10000, N); x++) {
			for(int y = 0; y <= Math.min((Y-10000*x)/5000, N-x); y++){
				int k = Y - 10000*x - 5000*y;
				if(k%1000 == 0) {
					int z = k/1000;
					if(z == (N - x - y)) {
						System.out.printf("%d %d %d", x, y, z);
						flag = true;
						break A;
					}
				}
			}
		}
		if(!flag) System.out.printf("-1 -1 -1");
		sc.close();
	}
}