import java.util.*;

// 日本でよく使われる紙幣は、
// 10000円札、
// 5000円札、
// 1000円札です。以下、「お札」とはこれらのみを指します。

// 青橋くんが言うには、彼が祖父から受け取ったお年玉袋にはお札が N枚入っていて、合計で Y円だったそうですが、嘘かもしれません。このような状況がありうるか判定し、
// ありうる場合はお年玉袋の中身の候補を一つ見つけてください。なお、彼の祖父は十分裕福であり、お年玉袋は十分大きかったものとします。

public class Main{
    public static void main (String[]args){
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    }
} import java.util.*; util.* java public class Main{
    public static void main (String[]args){
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    }
} Main public static void main (String[]args){
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    } main {
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    } 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 sc.close() sc.close sc boolean breakFlg = false; breakFlg false for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        } int i = 0; int i = 0; i 0 i<=N i N i++ i++ i {
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        } {
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        } for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            } int j = 0 ; int j = 0 ; j 0 j <= N-i j N-i N i j++ j++ j {
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            } {
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            } int k = N - (i + j); k N - (i + j) N (i + j) i j int trueMoney = (i * 10000) + (j * 5000) + (k * 1000); trueMoney (i * 10000) + (j * 5000) + (k * 1000) (i * 10000) + (j * 5000) + (k * 1000) (i * 10000) i 10000 (j * 5000) j 5000 (k * 1000) k 1000 if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             } Y == trueMoney Y trueMoney {
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             } System.out.println(i+"\t"+j+"\t"+k) System.out.println System.out System System.out i+"\t"+j+"\t"+k "\t" j i+"\t"+j+"\t"+k i "\t" j "\t" k breakFlg = true breakFlg true break; if (breakFlg){
            
            	break;
            } breakFlg {
            
            	break;
            } break; if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        } !breakFlg breakFlg {
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        } System.out.println(-1+"\t"+-1+"\t"+-1) System.out.println System.out System System.out -1+"\t"+-1+"\t"+-1 "\t" -1 -1+"\t"+-1+"\t"+-1 -1 1 "\t" -1 1 "\t" -1 1 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();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    }
} public class Main{
    public static void main (String[]args){
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    }
} Main
import java.util.*;

// 日本でよく使われる紙幣は、
// 10000円札、
// 5000円札、
// 1000円札です。以下、「お札」とはこれらのみを指します。

// 青橋くんが言うには、彼が祖父から受け取ったお年玉袋にはお札が N枚入っていて、合計で Y円だったそうですが、嘘かもしれません。このような状況がありうるか判定し、
// ありうる場合はお年玉袋の中身の候補を一つ見つけてください。なお、彼の祖父は十分裕福であり、お年玉袋は十分大きかったものとします。

public class Main{
    public static void main (String[]args){
        
        Scanner sc = new Scanner(System.in);
        
        // お札の枚数
        int N = sc.nextInt();
        
        // 合計金額
        int Y = sc.nextInt();

        sc.close();

        // 枚数のパターンを洗い出す → 合計金額を算出する → 合計金額が一致するならばそのパターンを出力　パターンを洗い出してなければ-1を出力
        // 10000円札
        boolean breakFlg = false;
        for (int i = 0; i<=N; i++){
            
        	// 5000円札
            for (int j = 0 ; j <= N-i; j++){
             
            	// 1000円札
             int k = N - (i + j);

             int trueMoney = (i * 10000) + (j * 5000) + (k * 1000);

             if (Y == trueMoney ){
                System.out.println(i+"\t"+j+"\t"+k);

                breakFlg = true;

                break;
             }   
                
            }
            
            if (breakFlg){
            
            	break;
            }
            
        }

        if (!breakFlg){
        	System.out.println(-1+"\t"+-1+"\t"+-1);
        }

        
    }
}