*SUPPORT*
IN: zup zup OUT: PURPLE PURPLE
IN: dax OUT: GREEN
IN: zup wif kiki OUT: PURPLE YELLOW PINK
IN: dax blicket wif OUT: YELLOW GREEN
IN: kiki OUT: PINK
IN: zup wif gazzer zup OUT: PURPLE YELLOW PURPLE
IN: wif blicket dax OUT: GREEN YELLOW
IN: wif blicket kiki OUT: PINK YELLOW
IN: dax blicket kiki OUT: PINK GREEN
IN: wif OUT: YELLOW
IN: kiki zup gazzer zup OUT: PINK PURPLE PURPLE
IN: zup blicket zup lug OUT: PURPLE PURPLE PURPLE PURPLE PURPLE PURPLE
IN: dax gazzer dax gazzer dax blicket zup lug OUT: GREEN GREEN PURPLE GREEN PURPLE GREEN PURPLE GREEN
IN: kiki gazzer kiki zup gazzer zup OUT: PINK PINK PURPLE PURPLE

*QUERY*
IN: zup gazzer wif blicket wif OUT: PURPLE YELLOW YELLOW
IN: zup OUT: PURPLE
IN: wif zup dax OUT: YELLOW PURPLE GREEN
IN: kiki gazzer zup blicket wif OUT: PINK YELLOW PURPLE
IN: zup blicket wif OUT: YELLOW PURPLE
IN: dax blicket dax OUT: GREEN GREEN
IN: zup zup gazzer kiki kiki OUT: PURPLE PURPLE PINK PINK
IN: dax gazzer zup OUT: GREEN PURPLE
IN: dax zup blicket kiki OUT: GREEN PINK PURPLE
IN: zup dax zup blicket dax OUT: PURPLE GREEN GREEN PURPLE

*GRAMMAR*
wif -> YELLOW 
 dax -> GREEN 
 kiki -> PINK 
 zup -> PURPLE 
 u1 blicket u2 -> [u2] [u1] 
 u1 gazzer x1 -> [u1] [x1] 
 x1 lug -> [x1] [x1] [x1] 
 u1 x1 -> [u1] [x1] 
 