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



	cpu	8086
	bits	16
	org	100h
section	.text
	mov	di,obuf		; Output buffer
	mov	bl,2		; BL = police
pol:	mov	cl,1		; CL = sanitation
san:	mov	dl,1		; DL = fire
fire:	cmp	bl,cl		; Police equal to sanitation?
	je	next		; Invalid combination
	cmp	bl,dl		; Police equal to fire?
	je	next		; Invalid combination
	cmp	cl,dl		; Sanitation equal to fire?
	je	next		; Invalid combination
	mov	al,bl		; Total equal to 12?
	add	al,cl
	add	al,dl
	cmp	al,12
	jne	next		; If not, invalid combination
	mov	al,bl		; Combination is valid, write the three numbers
	call	num 
	mov	al,cl
	call 	num
	mov	al,dl
	call 	num
	mov	ax,0A0Dh	; And a newline
	stosw
next:	mov	al,7		; Load 7 to compare to
	inc	dx		; Increment fire number
	cmp	al,dl		; If 7 or less,
	jae	fire		; next fire number.
	inc	cx		; Otherwise, ncrement sanitation number
	cmp	al,cl		; If 7 or less,
	jae	san		; next sanitation number
	inc	bx		; Increment police number twice
	inc	bx		; (it must be even)
	cmp	al,bl		; If 7 or less,
	jae	pol		; next police number.
	mov	byte [di],'$'	; At the end, terminate the string
	mov	dx,ohdr		; Tell MS-DOS to print it
	mov	ah,9
	int	21h
	ret
num:	mov	ah,' '		; Space 
	add	al,'0'		; Add number to output
	stosw			; Store number and space
	ret
section	.data
ohdr:	db	'P S F',13,10	; Header
obuf:	equ	$		; Place to write output