There is a highly organized city that has decided to assign a number to each of their departments:

   police department
   sanitation department
   fire department 


Each department can have a number between   1   and   7   (inclusive).

The three department numbers are to be unique (different from each other) and must add up to   12.

The Chief of the Police doesn't like odd numbers and wants to have an even number for his department.



Task

Write a computer program which outputs all valid combinations.



Possible output   (for the 1st and 14th solutions):

 --police--  --sanitation--  --fire-- 
     2             3            7 
     6             5            1



\ if department numbers are valid, print them on a single line
: fire ( pol san fir -- )
    2dup = if 2drop drop exit then
    2 pick over = if 2drop drop exit then
    rot . swap . . cr ;
 
\ tries to assign numbers with given policeno and sanitationno
\ and fire = 12 - policeno - sanitationno
: sanitation ( pol san -- )
    2dup = if 2drop exit then             \ no repeated numbers
    12 over - 2 pick -                    \ calculate fireno
    dup 1 < if 2drop drop exit then       \ cannot be less than 1
    dup 7 > if 2drop drop exit then       \ cannot be more than 7
    fire ;
 
\ tries to assign numbers with given policeno
\ and sanitation = 1, 2, 3, ..., or 7
: police ( pol -- )
    8 1 do dup i sanitation loop drop ;
 
\ tries to assign numbers with police = 2, 4, or 6
: departments cr                          \ leave input line
    8 2 do i police 2 +loop ;