Problem:
Problem A: Summer of KMC

Description

KMCはコミックマーケットと呼ばれる同人即売会で毎年CDを販売している。
コミックマーケットでCDを売ることになったFであったが、Fの人気により、KMCの売り場には人が殺到し、お釣りの計算が追いつかない状態となった。そこでFは金額を入力すると即座にお釣りを出力するプログラムを書くことにした。

KMCが釣り銭として用意しているのは、100円玉と500円玉と1000円札のみである。これらの硬貨・札は無限にあるものと考えて良い。お釣りは、硬貨・札の個数が最小になるように選ぶ。また、KMCが販売するCDの値段は100の倍数であり、購入者が支払う金額も100の倍数である。

Input

入力は複数のテストケースから成る。

各テストケースは2つの正整数A, Bから成る。AはCDの値段であり、Bは購入者が支払った金額である。A, Bは100の倍数であり、100000000を超えない。また、A ≦ B である。

入力は0 0で終わる。

Output

各テストケースに対して、お釣りとして差し出すべき 100円玉、500円玉、1000円札の個数・枚数を一行でこの順番に出力する。各数字の間にはスペースを1つ入れる。

Sample Input

500 1000
100 10000
400 700
600 5000
10000 10000
0 0

Output for Sample Input

0 1 0
4 1 9
3 0 0
4 0 4
0 0 0

Solution in JAVA (judge verdict: Accepted)

import java.util.*;
public class Main {
	static Scanner sc = new Scanner(System.in);
	static int value, pay;
	public static void main(String[] args) {
		while(read()){
			solve();
		}
	}
	static boolean read(){
		value = sc.nextInt(); pay = sc.nextInt();
		if(value == 0 && pay == 0)
			return false;
		return true;
	}
	static void solve(){
		int n_five = 0, n_handred = 0, n_thousand = 0;
		int diff = pay - value;
		n_thousand = diff / 1000;
		diff = diff % 1000;
		n_five = diff / 500;
		diff = diff % 500;
		n_handred = diff / 100;
		System.out.println(n_handred + " " + n_five + " " + n_thousand);
	}

}