Water transfer

Máme tři nádoby o celočíselných objemech a, b, c (čísla a, b, c nejsou větší než 10) ve kterých je na začátku objem x, y, z vody, v tomto pořadí.

Vodu můžeme přelévat z nádoby do nádoby, a to vždy tak, že nádobu kam lijeme, zcela zaplníme, nebo tak, že nádobu odkud lijeme, zcela vyprázdníme. Objem přelité vody je určen tím, která z těchto variant nastane dříve.

Vodu nesmíme vylévat nikam jinam ani doplňovat z nějakého jiného zdroje.

Vstupem programu jsou po řadě čísla a, b, c, x, y, z udávající objemy a počáteční obsahy nádob.

Program vytiskne seznam všech objemů (včetně nuly, lze-li), kterých lze přeléváním dosáhnout (celý objem vody v kterékoliv z nádob) a u každého z nich uvede za dvojtečkou minimální počet potřebných přelití. Objemy v tomto seznamu budou vytištěny v rostoucím pořadí.

Příklad:

Vstup:

4 1 1  1 1 1

Odpovídající výstup:

0:1 1:0 2:1 3:2