Најмал кусур

Во продавницата има 3 типа на бонбони кои ти ги сакаш. Тие чинат по В1, В2 и В3 денари, соодветно. Твојата мајка ти дала М денари, за да си купиш по колку што сакаш бонбони од секој тип. Твоја задача е да го донесеш кусурот кој ќе ти остане за да го ставите во касичката на твојата сестра.
Ти сакаш да направиш таква комбинација од купени бонбони од секој тип, за да ти останат најмалку можно пари кусур, за во касичката.
Напиши програма која ќе утврди по колку од секој тип бонбони треба да купиш, за да ти остане најмалку можно кусур. Ако има повеќе комбинации кои даваат ист најмал кусур може да ја отпечатиш која било од нив.



Влез

Во првиот и единствен ред се наоѓаат целите броеви В1, В2 и В3 (1 ≤ B1, B2, B3 ≤ 1000), и M (1 ≤ M ≤ 10 000).



Излез

Во првиот ред запишете го кусурот кој ви останал по купувањето.
Во вториот ред запишете 3 цели броја (поголеми или еднакви на нула): по колку бонбони сте купиле од првиот, од вториот и од третиот тип.



Ограничувања

Временско ограничување: 200 milliseconds
Мемориско ограничување: 64 megabytes



Примери


влез
7 5 3 4
излез
1
0 0 1
влез
7 5 3 21
излез
0
3 0 0
влез
19 13 17 50
излез
1
1 1 1


Објаснување за првиот пример:
Со 4 денари на располагање може да се купи само бонбона од 3 денари, и тоа една. Со тоа кусурот е 1 денар.

Објаснување за вториот пример:
Со 21 денари на располагање може да се купат 3 бонбони од 7 денари и да се добие кусур од 0 денари (т.е. да не остане ништо кусур). Тоа е најмалиот можен кусур, и тој може да се постигне и на други начини, на пример 3 бонбони од вториот тип и 2 од третиот тип. Така, точен излез за вториот тест пример би бил и:
0
0 3 2



 Submit your code